How to get current Windows theme name?
<p>I am trying to get the current Windows theme name in C# but it has turned out to be a little tougher than expected.  I have a code sample from MSDN:</p>

<pre><code>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);
</code></pre>

<p>GetCurrentTheme() does not modify the StringBuilder.  I also tried looking at the<br />
System.Windows.Forms.VisualStyles.VisualStyleInformation class, but it is full of empty values.  Anyone know how to do this?  I must be missing something easy, but I haven't found anything yet that works.</p>
