アカウント名:
パスワード:
手持ちのアプリケーションをDependency Walkerで確認してみましたが、Visual Studio 6.0及びVisual Studio 2005で作成したスタティックリンク系MFCアプリケーションも、dwmapi.dllを間接的にロードしているように見えます。(実際にロードされるかは未確認)
そもそも、VS2010のMFCもdwmapi.dllを直接ロードしているわけではなく、ダイナミックリンクしているshell32.dllから間接的に呼ばれているわけで……。これ、下手をするとshell32.dllを呼び出すアプリは全滅じゃないですかね?ちなみに、shell32.dllはその名の通りシェル関連のDLLで、SHGetMallocのようなSH接頭
system32あたりに空ファイル作ってdwmapi.dllという名前にしておけばXPでも無問題という風に読めたんだけど、違うかな?
> system32あたりに空ファイル作って> dwmapi.dllという名前にしておけばXPでも無問題> という風に読めたんだけど、違うかな?
ライブラリファイルの検索&ロードは、失敗するとファイルが無かったと見なされるので、空っぽのファイル入れても、ロード失敗するだけなので、全く無意味ですね。
ちゃんとPEヘッダの整合性のとれたファイル入れれば違うのかも。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
VS 2010+MFCだけの問題? (スコア:1, 興味深い)
手持ちのアプリケーションをDependency Walkerで確認してみましたが、Visual Studio 6.0及びVisual Studio 2005で作成したスタティックリンク系MFCアプリケーションも、dwmapi.dllを間接的にロードしているように見えます。
(実際にロードされるかは未確認)
そもそも、VS2010のMFCもdwmapi.dllを直接ロードしているわけではなく、ダイナミックリンクしているshell32.dllから間接的に呼ばれているわけで……。
これ、下手をするとshell32.dllを呼び出すアプリは全滅じゃないですかね?
ちなみに、shell32.dllはその名の通りシェル関連のDLLで、SHGetMallocのようなSH接頭
Re: (スコア:5, 参考になる)
一方で、MFCは、どのプラットフォーム上においてもLoadLibrary("dwmapi.dll")を実行してしまいます。これは、Vista以降では、正しいdwmapi.dllをロードしますが、XP上では、dwmapi.dllが存在しないため、LoadLibraryは標準のDLL検索パスを捜査し続け、最終的にはカレントディレクトリも捜査してしまうため、カレントディレクト
あてずっぽうだけど (スコア:0)
system32あたりに空ファイル作って
dwmapi.dllという名前にしておけばXPでも無問題
という風に読めたんだけど、違うかな?
Re:あてずっぽうだけど (スコア:1)
> system32あたりに空ファイル作って
> dwmapi.dllという名前にしておけばXPでも無問題
> という風に読めたんだけど、違うかな?
ライブラリファイルの検索&ロードは、失敗するとファイルが無かったと見なされるので、
空っぽのファイル入れても、ロード失敗するだけなので、全く無意味ですね。
ちゃんとPEヘッダの整合性のとれたファイル入れれば違うのかも。