gpt4 book ai didi

windows - 从 32 位进程设置 64 位窗口长?

转载 作者:可可西里 更新时间:2023-11-01 10:21:26 29 4
gpt4 key购买 nike

我有一个 32 位应用程序需要将 64 位窗口长值设置为属于 64 位进程的窗口。当我尝试从 32 位进程调用 SetWindowLong 时,只设置了 64 位值的低位双字(我在调试 64 位进程时看到它),显然只有 64 位值的低位双字返回到调用者(因为函数返回 LONG,它是 32 位值)。 32 位版本的 user32.dll 中未导出函数 SetWindowLongPtr。我试图反汇编 SetWindowLongPtr 源代码以查看它是否只是系统调用之上的某个层,但该函数实际上很大并且调用了其他几个未记录的函数。如何从 32 位进程设置 64 位窗口长值?将 32 位应用重建为 x64 目标不是一种选择。

最佳答案

有些事情您无法通过 32 位模拟器执行。这是其中之一。从 64 位进程调用 SetWindowLongPtr 以实现您的目标。您不必将整个应用程序转换为 32 位,但您需要手头有一个 64 位进程来执行此特定任务。

关于windows - 从 32 位进程设置 64 位窗口长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28166219/

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