来自 GetMessageW 或 NtUserGetMessage 的消息文本

发布于 2024-12-10 21:24:10 字数 493 浏览 5 评论 0原文

我有一个作为后台进程生成的进程,由于某种原因,它似乎在后台抛出一个消息框。所以进程挂起,我无法收到消息。

谁能告诉我如何通过 WinDbg 或任何其他方式获取此消息中的文本?这是 Windows Server 2008 x64 上的 x64 本机 C++ 进程。

“挂起”线程 (0) 上的堆栈顶部是:

00000000`0012fdc8 00000000`76ad9e9e USER32!NtUserGetMessage+0xa
00000000`0012fdd0 00000001`40bb2b04 USER32!GetMessageW+0x34
[..internal code...]
00000000`0012ff60 00000000`7707c521 kernel32!BaseThreadInitThunk+0xd
00000000`0012ff90 00000000`00000000 ntdll!RtlUserThreadStart+0x1d

谢谢!

I have a process that is spawned as a background process, that for some reason seems to throw up a message box in the background. So the process hangs, and I can't get the message.

Can anyone tell me how I can get the text in this message via WinDbg, or any other way? This is a x64 native c++ process on Windows Server 2008 x64.

The top of the stack on the "hanging" thread (0) is:

00000000`0012fdc8 00000000`76ad9e9e USER32!NtUserGetMessage+0xa
00000000`0012fdd0 00000001`40bb2b04 USER32!GetMessageW+0x34
[..internal code...]
00000000`0012ff60 00000000`7707c521 kernel32!BaseThreadInitThunk+0xd
00000000`0012ff90 00000000`00000000 ntdll!RtlUserThreadStart+0x1d

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑忘罢 2024-12-17 21:24:10

它不显示消息 - 它是简单的 Windows 消息接收/处理/调度循环。 Windows 消息是一个事件,如计时器或鼠标移动。因此,线程并没有真正卡住,只是如果没有消息发布到该线程的消息队列,GetMessage 就会阻塞。

It is not displaying a message - it is simple windows message receive/process/dispatch loop. Windows message being an event, like timer or mouse move. So, the thread is not really stuck, it's just that GetMessage blocks if there were no messages posted to this thread'd message queue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文