小编Dee*_*mar的帖子

文件夹图标更改

我正在使用 c# 函数更改文件夹图标。它工作正常,但问题是它第一次工作。我的意思是我无法更改已更改图标的文件夹的图标。下面是代码:

static void Main(string[] args)
{
    LPSHFOLDERCUSTOMSETTINGS FolderSettings = new LPSHFOLDERCUSTOMSETTINGS();
    FolderSettings.dwMask = 0x10;
    FolderSettings.pszIconFile = @"C:\Program Files (x86)\Common Files\TortoiseOverlays\icons\XPStyle\ModifiedIcon.ico";
    FolderSettings.iIconIndex = 0;

    UInt32 FCS_READ = 0x00000001;
    UInt32 FCS_FORCEWRITE = 0x00000002;
    UInt32 FCS_WRITE = FCS_READ | FCS_FORCEWRITE;

    string pszPath = @"D:\Downloaded Data";
    UInt32 HRESULT = SHGetSetFolderCustomSettings(ref FolderSettings, pszPath, FCS_WRITE);
    //Console.WriteLine(HRESULT.ToString("x"));
    //Console.ReadLine();

}

[DllImport("Shell32.dll", CharSet = CharSet.Auto)]
static extern UInt32 SHGetSetFolderCustomSettings(ref LPSHFOLDERCUSTOMSETTINGS pfcs, string pszPath, UInt32 dwReadWrite);

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
struct LPSHFOLDERCUSTOMSETTINGS
{
    public UInt32 dwSize;
    public UInt32 …
Run Code Online (Sandbox Code Playgroud)

c#

6
推荐指数
1
解决办法
5722
查看次数

文件上传权限被拒绝Godaddy共享主机

我在godaddy共享主机上有一个Web应用程序.它是一个asp.net应用程序.一切正常,但是当我上传一些文件时,它会出现错误"拒绝访问路径'PATH'."

我尝试了几种方法,例如给予我从godaddy控制面板上传文件的文件夹的完全权限.

我也看过这篇文章并试图跟着他说:http://forums.asp.net/t/1052417.aspx/1

但没有帮助.

任何人都可以建议我那里有什么不对.它在IIS 7下.

asp.net file-permissions file-upload

6
推荐指数
2
解决办法
2万
查看次数

内存映射文件长度

我正在研究内存映射文件.有没有办法知道内存映射文件内容的长度?我想要的是附加现有的内存映射文件.它很容易在文件中附加字节,但我希望追加字符串.

我们可以检查CAPACITY属性,但它返回我认为的字节大小.

为了更清楚,我正在解释这个场景.我正在创建内存映射文件A.我在创建它时写"Hello".它工作正常.现在我想将"World"写入现有文件A.

我使用下面的代码:

 var file = MemoryMappedFile.OpenExisting("myFile");
            string str = "String to append";
            using (var view = file.CreateViewAccessor())
            {
                using (var stream = file.CreateViewStream())
                {
                    System.IO.BinaryWriter writer = new System.IO.BinaryWriter(stream);
                    writer.Write(str.ToArray(), INT SIZE,Convert.ToInt32(view.Capacity), str.Length);//Error
                }
            }
            using (var stream = file.CreateViewStream())
            {
                Console.WriteLine("Reading appended File");
                System.IO.BinaryReader reader = new System.IO.BinaryReader(stream);
                Console.WriteLine(reader.ReadString());
                Console.WriteLine(string.Empty);
            }
Run Code Online (Sandbox Code Playgroud)

我用(//)标记了要求大小的行.我想知道(INT SIZE)的价值任何帮助将不胜感激.

[编辑]我正在使用C#,Visual Studio 2010.

现在我使用此代码追加:

var file = MemoryMappedFile.OpenExisting("myFile");
            string str = "String to append";
            string str1 = string.Empty;


            using (var stream …
Run Code Online (Sandbox Code Playgroud)

c# memory-mapped-files

5
推荐指数
1
解决办法
3958
查看次数

为什么bool.try解析不将值解析为TRUE或FALSE

请考虑以下代码.

bool somevariable;
bool.TryParse(Convert.ToString(Dataset.Tables[0].Rows[0]["SomeColumnName"]), out somevariable);
CheckBox.Checked = somevariable;
Run Code Online (Sandbox Code Playgroud)

在数据集中的"SomeColumnName"中,我的值为1.因此我假设这将在"somevariable"中将此1解析为TRUE.

但是当我尝试将此值解析为bool时,它总是返回false.

我不知道为什么.

c#

4
推荐指数
2
解决办法
2万
查看次数

非托管 DLL 的相对路径

可能的重复:
在 .NET 中指定 DllImport 的搜索路径

我有一个非托管的 DLL。为了清除,它是我想在我的 c# 代码中使用的 C++ dll。问题是它是一个 Windows 应用程序,用户可以将它安装在他们选择的任何目录中。所以我不能用静态路径引用它,也找不到给出相对路径的方法。这是我试过的代码:

 [DllImport("mydll.dll", CharSet = CharSet.Auto, SetLastError = true)]
  static extern bool SetDllDirectory(string lpPathName);

  public void SetDllDirectory(string lpPathName)
        {
            try
            {
                bool r = SetDllDirectory(lpPathName);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void SetDirectoryPath()
        {
            try
            {
                DirectoryInfo directory = new DirectoryInfo(System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath));
                if (directory.Exists)
                    SetDllDirectory(directory.ToString() + "\\mydll.dll");

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Run Code Online (Sandbox Code Playgroud)

下面是我收到的错误。

无法在 DLL“mydll.dll”中找到名为“SetDllDirectory”的入口点。

这个问题可能是复制品

C# 中的 C++ 非托管 …

c# windows dll unmanaged

4
推荐指数
2
解决办法
1万
查看次数

检查数据集的最佳方法有记录

我很想知道检查数据集中是否有记录的最佳方法.我一直在使用以下代码来检查数据集是否有某些记录.但我觉得有一些更好/最好的方法可以实现这一目标.

Dataset tableData = New Dataset();
if (_tableData.Tables.Count > 0 && _tableData.Tables[0].Rows.Count > 0)
{ 
}
Run Code Online (Sandbox Code Playgroud)

如果我感觉正确,请分享一些知识.

谢谢

c# dataset

1
推荐指数
1
解决办法
1万
查看次数