x86 としてコンパイルされたアプリケーションを実行すると、次のようになります。
"指定されたモジュールが見つかりませんでした"
x64としてコンパイルされたものは正常に動作します。アプリケーションはcodeprojectからダウンロードできます。このクラス ライブラリを 32 ビット アプリ内で実行する必要があります。
depency walkerで表示されるエラー:
エラー: CPU タイプが異なるモジュールが見つかりました。警告: 少なくとも 1 つの遅延読み込み依存モジュールが見つかりませんでした。警告: 遅延ロード依存モジュールにエクスポート機能がないため、少なくとも 1 つのモジュールに未解決のインポートがあります。
依存関係ウォーカーの詳細情報...
IESHIMS.DLL not found
このコードは問題を引き起こします:
s_MouseHookHandle = SetWindowsHookEx(
WH_MOUSE_LL,
s_MouseDelegate,
Marshal.GetHINSTANCE(
Assembly.GetExecutingAssembly().GetModules()[0]),
0);
後は途中で…
int errorCode = Marshal.GetLastWin32Error();//error code comes back as 126
32ビットアプリ内で実行する方法はありますか?