Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取当前Windows主题名称?_C# - Fatal编程技术网

C# 如何获取当前Windows主题名称?

C# 如何获取当前Windows主题名称?,c#,C#,我试图用C#来命名当前的Windows主题,但结果比预期的要难一些。我有一个来自MSDN的代码示例: public void Test() { StringBuilder themeFileName = new StringBuilder(0x200); GetCurrentThemeName(themeFileName, themeFileName.Capacity, null, 0, null, 0); string fileName = Path.GetFileNa

我试图用C#来命名当前的Windows主题,但结果比预期的要难一些。我有一个来自MSDN的代码示例:

public void Test()
{
    StringBuilder themeFileName = new StringBuilder(0x200);
    GetCurrentThemeName(themeFileName, themeFileName.Capacity, null, 0, null, 0);
    string fileName = Path.GetFileName(VisualStyleInformation.ThemeFilename);
    if (string.Equals("aero.msstyles", fileName, StringComparison.OrdinalIgnoreCase))
    {
        // user is using aero theme
    }
}

[DllImport("uxtheme.dll", CharSet = CharSet.Auto)]
public static extern int GetCurrentThemeName(StringBuilder pszThemeFileName, int   
    dwMaxNameChars, StringBuilder pszColorBuff, int dwMaxColorChars,
    StringBuilder pszSizeBuff, int cchMaxSizeChars);
GetCurrentTheme()不修改StringBuilder。我还试着看了一下
System.Windows.Forms.VisualStyles.VisualStyleInformation类,但它充满了空值。有人知道怎么做吗?我肯定错过了一些简单的东西,但我还没有找到任何有用的东西。

介绍了如何获取“当前视觉样式信息”(在文章中搜索该字符串)


它包含如何执行此操作的示例代码。

您不是通过引用传递字符串生成器。

好的,引用是通过值传递的。我认为该函数不会更改引用的对象。有机会我会试试的,谢谢。这是评论,不是回答。