【问题标题】:Message text from GetMessageW or NtUserGetMessage来自 GetMessageW 或 NtUserGetMessage 的消息文本
【发布时间】:2011-10-18 06:52:15
【问题描述】:

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

谁能告诉我如何通过 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

谢谢!

【问题讨论】:

  • 进程是服务创建的吗?如果不是,“背景”是什么意思?

标签: windbg getmessage


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多