gpt4 book ai didi

delphi - SetWindowsHookEx 是否可以在 Mac Mini 上的 Windows 7 上运行(类似)

转载 作者:行者123 更新时间:2023-12-03 15:58:12 25 4
gpt4 key购买 nike

给定设置 uiAccess="true"的适当 list ,当使用 Parallels 在 Mac Mini 上的 Windows7(32 位)上运行时,win32 程序(在其他 Windows7 系统上运行良好)是否能够从 SetWindowsHookEx 获取有效句柄?

这是调用 API 的 Delphi XE4 代码行

HookHandle := SetWindowsHookEx(WH_JOURNALPLAYBACK, @Playback, hInstance, 0);

由于 HookHandle 中返回系统错误,我不断收到“访问被拒绝”的消息。

我已经尝试了 list 语法的许多变体,并且非常想知道这是否只是 Mac Mini/Parallels 环境的一些限制。调用该程序的用户是管理员。 UAC 已启用。我尝试过以管理员身份运行;没有区别。

我的 list 文件如下。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32" name="FFHotKeys" version="1.1.0.0 processorArchitecture="*"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="true"/>
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
</compatibility>
</assembly>

我已尝试为其中每个设置级别

level="asInvoker"
level="requireAdministrator"
level="highestAvailable"

这并没有解决“访问被拒绝”的问题。

注意:我通过 .rc 文件包含我的 list ,其中包含

1 24 "FFHotKeys.exe.manifest"

而不是通过“项目”>“选项”下的“自定义 list ”功能。我有“启用运行时主题”和一个空白的自定义 list 。我尝试了另一种方式,但 .manifest 内容略有不同。

注意:当我使用 XN_Resource_Editor 检查资源时,有一个“XP 主题 list ”资源完全包含预期的 XML。还有 2 个 VCLSTYLE 资源。谢谢。

最佳答案

答案是肯定的,它应该并且确实可以在 Parallels 上运行。

通过使用XN_Resource_Editor检查编译后的EXE,问题得到了澄清。事实证明,仅在“项目”>“构建”之前删除 .RES 文件会导致资源重新编译,因此测试结果令人困惑。更重要的是,当涉及运行时主题时,Delphi XE4 使用其默认 list 。因此,解决方案是删除项目中的资源引用,而是使用“项目”>“选项”、“应用程序”、“运行时主题”,选择自定义 list ,然后选择“项目”>“构建”并对 EXE 进行代码签名并从中运行它在 c:\Program Files\subdir 下。

processorArchitecture="*" 

在 list 中有效

<requestedExecutionLevel level="asInvoker" uiAccess="true"/>

在 list 中有效。

关于delphi - SetWindowsHookEx 是否可以在 Mac Mini 上的 Windows 7 上运行(类似),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18713669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com