この間、友人が「ダウンロードしたテーマを使用できないのですか?ビジュアルスタイルエラーを促す」と尋ねることがよくあります。
確認後、カスタムテーマによって変更する必要がある3つのファイル(Shsvcs.dll、Uxtheme.dll、Themeui.dll)はすべて正しいものであり、バージョン番号は正常です。実際には、しばらく前に、いくつかのVistaのサードパーティ製のテーマがダウンロードされ、テーマディレクトリで使用することができませんでした。それで問題はどこにありますか?
多くのサードパーティトピックを調べた後、テーマの言語ファイルに対応する言語パッケージのファイル名がテーマのファイル名と一致しないことを見つけるのは意図的ではありません。これが、テーマを使用できない理由の1つです。私が例として使用しているAero Clearを取り上げると、テーマフォルダの下のビジュアルスタイルファイルはAero Clear.msstylesと呼ばれ、対応する言語パック(en-USまたはzh-CN)の言語ファイルはAero.msstylesです。これにより、テーマのロード時にWindowsが正しい言語ファイルを読み取れず(Aero.msstyles.muiではなくAero Clear.msstyles.muiの場合)、テーマのロードに失敗しました。アップデートをインストールする前にロードすることができるのはなぜですか?その理由は、Windowsがこれらの言語ファイルをキャッシュするからです。テーマをロードするときに、aero.msstyles.muiから対応する言語データを読み込む必要はないので、使用に問題はありません。
正しい解決策は、対応する言語フォルダを入力し、aero.msstyles.muiを表示スタイルに対応するファイル名に変更することです。 Aero Clearの場合は、aero.msstyles.muiをAero Clear.msstyles.muiに変更してから、[Personalization]を再度開いて、置き換える必要があるテーマを選択します。だから、サードパーティのテーマに対するマイクロソフトの戦いのようなものはありません。以下の添付画像は、アップデートがインストールされた後に通常有効になるサードパーティ有効テーマ(ガラス効果に注意)です。
まとめると、これの理由は、Windows Vistaの多言語メカニズム(MUI)です。 Vistaでは、MUIの原則は、デフォルトで現在の言語バージョンのフォルダを検索することです(中国語版はzh-CN)、見つからない場合、またはフォルダの下のMUIファイルが一致しない場合は、en-USフォルダ内の対応ファイルがさらに検索されます。 en-USの下の対応するファイルが一致しなくなった場合、ロードは失敗します。テーマが読み込めない場合は、zh-CNフォルダを作成し、en-USの下に同じ名前のファイルをコピーしてみてください。
したがって、完全なDIY-Windows Vistaテーマ作成の不完全なチュートリアルチュートリアルでテーマを作成するときは、テーマテーマファイル、msstylesファイル、およびzh-cnまたはen-usのmuiファイルのファイル名が同じであることを確認する必要があります。 。