【问题标题】:how to load API on Windows 7?如何在 Windows 7 上加载 API?
【发布时间】:2011-06-15 06:49:25
【问题描述】:

我的目的是能够成功加载将挂钩 Windows API 的 .dll 文件。我已经研究并广泛尝试了将我的 .dll 文件加载到运行 Windows 7 的 64 位计算机上的任何方法,但均未成功。我尝试过的两种解决方案包括将 .dll 的路径加载到注册表项中:

计算机/HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_DLLs

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_DLLs

请不要误会我的意思,有很多在线资源解释了如何将 API 加载到注册表,但没有一个对我有用。如果这个问题的答案很明显,我深表歉意,我已尽我所能。非常感谢您的时间和帮助!

【问题讨论】:

    标签: windows api dll registry hook


    【解决方案1】:

    不要使用AppInit_DLLs 机制,因为它非常危险,可能导致其他应用程序崩溃和加载程序锁死锁(请参阅伟大的Raymond Chen 对此主题的看法)。如果您绝对、肯定地必须使用此机制,那么您可以调用 kernel32.dll 中的函数。 根本没有运行时调用

    更好的选择是研究使用detours

    【讨论】:

    • Mandrill,非常感谢您的警告!我绝对不会再考虑这种方法了,我会在阅读 Raymond Chen 所说的内容时查看您的建议。
    【解决方案2】:

    有一个 Technet 文档可能会有所帮助 - AppInit DLLs in Windows 7 and Windows Server 2008 R2

    【讨论】:

    • 非常感谢斯图尔特的帮助和快速回复!我会仔细查看您提供的链接,然后回复详细信息!再次,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 2016-09-08
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多