我在 VC++ 中实现了凭据管理器,它在登录过程中捕获凭据。它在 XP/Vista/Windows 7 32 位环境中运行良好。但不适用于 64 位。任何的想法 ?提前感谢您的帮助
问问题
1201 次
2 回答
2
如果您希望 DLL 由 64 位进程加载,则您的 DLL 必须编译为 64 位。
如果您希望 DLL 由 32 位进程加载,则您的 DLL 必须编译为 32 位。在 64 位 Windows 系统和 32 位 Windows 系统上都是如此。
约翰给了你一个有用的链接,尽管约翰的措辞是错误的。为 32 位构建的应用程序 (exe) 将在 64 位 Windows 中运行,但它只能加载 32 位 DLL。
于 2010-01-21T09:04:05.330 回答
0
您是否在 Visual Studio 中为 64 位平台构建?
为 32 位环境构建的 Visual C++ 应用程序不能直接在 64 位环境中运行。尽管应用程序可以使用 WOW64 兼容层工作,但如果要由 64 位操作系统加载,DLL必须是 64 位的。
由于这里确实是这种情况,因此您需要为 64 位平台构建项目(Visual Studio 2005 及更高版本具有 64 位编译器)。
有关详细信息,请参阅链接http://msdn.microsoft.com/en-us/library/ms185328.aspx 。
于 2010-01-21T08:34:01.843 回答