当我运行编译为x86的应用程序时,我得到:
“无法找到指定的模块”
编译为x64的工作正常。该应用程序可以从codeproject下载。我需要在32位应用程序中运行此类库。
我在depency walker中看到的错误:
错误:找到了具有不同CPU类型的模块。警告:至少 找不到一个延迟加载依赖模块。警告:至少一个 由于缺少导出功能,模块具有未解析的导入 延迟负载相关模块。
依赖步行者的更多信息......
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位应用程序内运行吗?
答案 0 :(得分:1)
通过配置管理器添加x86解决方案平台,并将平台更改为x86以用于两个项目。 “在C#中处理全局鼠标和键盘挂钩”可以正常工作x86。
http://msdn.microsoft.com/en-us/library/kwybya3w(v=vs.80).aspx