質問

しているのか教えてくださいUI VB2005年に見える大XPスタイルが融合したかのような醜にスワロフスキークリスタルます。

そのアイデアなどを検出するモードでは、ユーザは、再フォーマットのフォームのフライ?


ポストの編集回答:

コンのようになります。私が使っているの第一ソリューションをご掲示にGetCurrentThemeName()機能です。

になっているの

関数宣言

 Private Declare Unicode Function GetCurrentThemeName Lib "uxtheme" (ByVal stringThemeName As System.Text.StringBuilder, ByVal lengthThemeName As Integer, ByVal stringColorName As System.Text.StringBuilder, ByVal lengthColorName As Integer, ByVal stringSizeName As System.Text.StringBuilder, ByVal lengthSizeName As Integer) As Int32

コード:


Dim stringThemeName As New System.Text.StringBuilder(260)
Dim stringColorName As New System.Text.StringBuilder(260)
Dim stringSizeName As New System.Text.StringBuilder(260)

GetCurrentThemeName(stringThemeName,260,stringColorName,260,stringSizeName,260) MsgBox(stringThemeName.ToString)

に再生し続けますmessageboxが空の時に私は、Windowsクラシックスタイ/テーマが出てくる"C:\WINDOWS esources hemes\luna\luna.msstyles"の場合はWindows XPスタイル/テーマです。まいりを確認されなかった場合はどうなユーザーのもう一つのテーマを設定してもなう大きな問題は解決できません。

役に立ちましたか?

解決

使ってみを組み合わせ GetCurrentThemeName (MSDNページDwmIsCompositionEnabled

私はリンクのPInvokeいうドロップしてもコードでは、第一のコードを使うことができますのMSDNコメント:

[DllImport("dwmapi.dll", PreserveSig = false)]
public static extern bool DwmIsCompositionEnabled();

う結果が得られた二つの機能彼らは十分かを判定するのに使用することが多いです!

他のヒント

個人的には、私の場合、次のコマンドを実行するような場合はアプリが動をテーマ:

if (Application.RenderWithVisualStyles)
{
    // you're themed
}

あの IsThemeActive す。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top