ログインプロセス中にクレデンシャルをキャプチャするクレデンシャルマネージャーをVC++に実装しています。XP / Vista / Windows732ビット環境でうまく機能します。しかし、64ビットでは動作しません。何か案が ?助けてくれてありがとう
2 に答える
DLLを64ビットプロセスでロードする場合は、DLLを64ビット用にコンパイルする必要があります。
DLLを32ビットプロセスでロードする場合は、DLLを32ビット用にコンパイルする必要があります。これは、64ビットWindowsシステムと32ビットWindowsシステムの両方に当てはまります。
ジョンの言い回しが間違っていても、ジョンはあなたに有用なリンクを与えました。32ビット用に構築されたアプリケーション(exe)は64ビットWindowsで実行されますが、ロードできるのは32ビットDLLのみです。
Visual Studio で 64 ビット プラットフォーム用にビルドしましたか?
32 ビット環境用にビルドされた Visual C++ アプリケーションは、64 ビット環境では直接動作しません。また、アプリケーションは WOW64 互換レイヤーを使用して動作しますが、DLLを 64 ビット オペレーティング システムでロードする場合、DLL は 64 ビットである必要があります。
ここでは実際にそうであるため、プロジェクトを 64 ビット プラットフォーム用にビルドする必要があります (Visual Studio 2005 以降には 64 ビット コンパイラがあります)。
詳細については、リンクhttp://msdn.microsoft.com/en-us/library/ms185328.aspxを参照してください。