我有用VC++实现的凭证管理器,它在登录过程中捕获凭证。它适用于XP/Vista/Windows 7 32位环境。但是不能在64位工作。 有什么想法? 在此先感谢您的帮助Vista/Windows 7的凭证管理器
回答
如果你想让你的DLL被64位进程加载,你的DLL必须被编译为64位。
如果你想让你的DLL被32位进程加载,你的DLL必须被编译为32位。在64位Windows系统和32位Windows系统上都是如此。
约翰给了你一个有用的链接,尽管约翰的措辞是错误的。一个为32位构建的应用程序(exe)将在64位Windows上运行,但它只能加载32位DLL。
同意,我编译它为64位和dllmain被称为winlogon(通过放置日志验证)。但现在的问题是我没有收到“NOLogonNotify”功能(我在32位获得).. 任何想法?????? – Unicorn 2010-01-21 09:19:40
您可能会缺少一些注册表项。如果一个32位应用程序添加了注册表项,那么该应用程序可能会将它们放入WoW6432节点,这甚至不会被64位应用程序注意到。您需要确保它们位于普通64位凭据注册的正确位置。 – 2010-01-21 23:06:24
好吧,得到它的工作,问题是运行时异常调用约定。感谢您为建议32位DLL与64位DLL的帮助。 – Unicorn 2010-01-25 05:59:21
您是否为Visual Studio中的64位平台构建?
为32位环境构建的Visual C++应用程序不能直接在64位环境中工作。尽管应用程序可以使用WOW64兼容层,但如果要由64位操作系统加载,则DLL 必须为。由于这确实是这种情况,因此您需要为64位平台(Visual Studio 2005及更高版本具有64位编译器)构建项目。
查看链接http://msdn.microsoft.com/en-us/library/ms185328.aspx了解更多详情。
@John:我很确定使用WOW64的32位env的应用程序版本适用于64位。 – Unicorn 2010-01-21 09:16:07
- 1. 从Windows 7获取PowerShell中的缓存凭据凭证管理器
- 2. Tomcat 7管理器 - 如何验证?
- 3. Javascript凭证管理API与凭证集成提取
- 4. 在heroku中管理生产凭证
- 5. 更改VSTFS管理员凭证
- 6. SourceTree如何摆脱窗口“Windows的Git凭证管理器”?
- 7. 从IIS 7管理器管理DNS
- 8. 加密时无法将密码保存到凭证管理器
- 9. Windows 7桌面管理器
- 10. Jenkins没有检测到Windows凭据管理器的GIT凭据
- 11. 管理Lambda处理程序Cloudformation中的凭证
- 12. 报告管理器要求凭据
- 13. 带Memcached会话管理器的Tomcat 7
- 14. symfony 1.4:试图管理动作的凭证
- 15. 入门OAuth凭证尝试使用忒IPP的V2 API资源管理器QBD
- 16. SoapHttpClientProtocol缓存代理凭证?
- 17. 状态管理7
- 18. Tomcat 7管理器 - 禁用了命令
- 19. Windows 7 - 半透明拖拽管理器?
- 20. IIS 7管理器无法写入web.config
- 21. Firebase凭证凭证API
- 22. 用户/角色管理詹金斯凭证
- 23. GOD和环境变量:如何管理凭证?
- 24. EC2(远程桌面)RDP拒绝管理员凭证
- 25. 如何管理企业分销凭证到期?
- 26. 在Jenkins管道中使用SSH代理凭证
- 27. 将凭证传递给Glassfish管理员Web服务
- 28. orientdb - 导入csv时出错 - 管理员凭证
- 29. 凭证管理器DLL在强制更改密码时导致登录挂起
- 30. 没有“凭据管理器”的Windows静默安装Git
请说明“不能工作”。它是否被调用,但功能正常,或者根本没有被调用,例如? – Arnout 2010-01-21 08:51:55
最初dll根本没有被调用,但在为X64编译dll后,它被调用,但现在我没有达到NPLogonNotify的dll实现。 – Unicorn 2010-01-21 09:17:55