【发布时间】:2011-04-07 14:01:45
【问题描述】:
我正在尝试使用热键实用程序(或 NirCMD 等)的 SendMessage 功能来弹出一个隐藏窗口。例如,我可以通过发送 0x0010 (WM_CLOSE) 来关闭窗口,但是当我尝试发送 wParam 为 1 和 lParam 为 0 的 0x0018 (WM_SHOWWINDOW) 时,什么也没有发生。
我环顾四周,发现有人抱怨 WM_SHOWWINDOW 不起作用的几个地方,他们欣然接受了使用 ShowWindow() 的建议。
但是我没有可用的 ShowWindow();我只能发送 Windows 消息。但是 ShowWindow() 并不神奇,它肯定可以通过 SendMessage 对 WM_SHOWWINDOW 或其他东西起作用。
如何通过发送消息让窗口显示自己?
谢谢。
【问题讨论】:
-
为什么 ShowWindow() 不可用?如果您可以调用 SendMessage(),您显然可以使用 Win32 API 构建程序。为什么不调用 ShowWindow()?
-
因为就像我说的,热键程序/nircmd/etc。只提供一个发送/发布消息的接口(它就像脚本,而不是带有标题等的编译)。
标签: windows winapi sendmessage windows-messages