新しいスタイルのUIを表示するには、Windows Common Controls v6.0を使用する必要があります。 私はマニフェストの依存関係によってそれを行うことができると知っていますが、マニフェスト(またはソースコード...私のアプリケーションではありませんが、私は必要なCommCtrlsとプロセスにアタッチされるDLLを持っていますそのDLLから呼び出される)そのプロセスのWindows Common Controlsバージョンを指定するにはどうすればよいですか?それを行うためのAPIやその他のAPIはありますか? Windows共通コントロール(特定のバージョンを使用)
答えて
があなたのDLLでこれを試してみてください[ところで、私はC++ & VS2015使用しています]:
#if defined _M_IX86 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") #elif defined _M_IA64 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"") #elif defined _M_X64 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") #else #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") #endif
マニフェストを追加するには不十分です。いずれにしても、マニフェストをリソースとしてリンクするのは、おそらくより一般的です。それ以外に何が必要ですか?そして、なぜ尋問者はこの不十分な答えを受け入れましたか? –
これは彼の問題を解決したためですか?彼はそのプロセスにdllを注入できると言いました。そのため、非常に遅くロードするDLLでこれを実行すると問題が解決します。 – iFarbod
いいえ、それはありません。アイソレーションとアクティベーションのコンテキストについて知っていますか? –
- 1. ASP.NETの共通コントロールのソースコード
- 2. SBT `RootProject`の共通設定を使用
- 3. Windowsアプリケーションで共通コントロールを有効にする方法
- 4. Windowsの共通フォルダ
- 5. 使用して、特定のバージョン
- 6. ページ、Webサービス、Webコントロールの共通継承
- 7. 「BUTTON」は共通のコントロールですか?
- 8. 特定のAndroidバージョン用プログラミング
- 9. C#で異なるタイプの複数のコントロール用の共通イベントハンドラ
- 10. Jenkins Pipeline共有ライブラリのバージョンを使用
- 11. Windowsフォームで特定のコントロールを選択できません
- 12. GCCの共有ライブラリの特定のバージョンにリンクするには
- 13. 2列に共通の値を持つ行を特定する
- 14. テンプレートメソッドパターン、共通の使用関数を定義する場所
- 15. Sqliteの共通データベースを使用
- 16. 特定のPythonバージョンをscript.py内で呼び出す方法 - Windows
- 17. 変更Windowsキットの共通インストールパス
- 18. vcredistの特定のバージョンを使用しますか?
- 19. 特定のAndroidバージョンを使用したAndroidプロジェクトのデフォルトスタイル
- 20. 特定のバージョンのQtライブラリを使用する
- 21. SymmetricDS:ルックアップテーブル共通ノードと特定ノードへのルータの経路
- 22. GPSトラックからの共通ルートセグメントの特定
- 23. C#Windows 7のコントロールをWindowsで使用するxp
- 24. メインプロジェクト外の共通サービスロケータの使用
- 25. CMakeは特定のBoostバージョンを使用します
- 26. cmakeに特定のOpenCVバージョンを使用させる
- 27. LocalDBに特定のバージョンを使用させる方法
- 28. createLinkを使用して特定のユーザーと共有する
- 29. Laravel Mixを使用してすべての特定のスクリプトに共通のスクリプトを追加する方法は?
- 30. JUnitカスタムロールバックルールを使用した共通セットアップ
なぜあなたはマニフェストへのアクセス権を持っていないでしょうか?実際にマニフェストにアクセスできない場合は、なぜAPIを使用してそれを実行できると思いますか? (マニフェストにアクセスできないということは、あなたが変更しようとしている他の誰かのアプリだということを意味しています。また、別のバージョンのComCtrlsがすでにロードされている場合は、アプリの実行中に置き換えることはできません)。コードでそれを行う方法ですが、単純にマニフェストを追加するよりもはるかに多くの作業です。 –
はいできます。隔離意識を調べる。あなたのDLLはこれでも動作するためにはマニフェストリソースが必要ですが、そうでなければホストプログラムとは独立して存在します。 [詳細情報](https://msdn.microsoft.com/en-us/library/windows/desktop/ms649781(v = vs.85).aspx#extensions) – andlabs
はい@Kenはこれを間違っています。マニフェストリソースとアクティベーションコンテキストが必要です。 –