这可能是一个愚蠢的问题,但在这里。
假设您正在与Driver API进行交互。您正在使用C并完全通过命令提示符完成。没有GUI。是否可以在这些文件中接收和处理Windows消息?
我的意思是,到处都是,我使用的是Windows句柄为NULL。我不知道这是否可能,甚至是否有意义。
答案 0 :(得分:2)
要使用GetMessage或PeekMessage,您的线程中不需要任何窗口:http://msdn.microsoft.com/en-us/library/ms644946%28v=vs.85%29.aspx
发布消息的线程必须已创建消息 队列,或者对PostThreadMessage的调用失败。
使用以下方法处理此情况。
创建一个事件对象,然后创建 线程。
使用WaitForSingleObject函数等待事件 在调用PostThreadMessage之前设置为信号状态。
在 要将消息发布到的线程,请将PeekMessage调用为 此处显示强制系统创建消息队列:
PeekMessage(& msg,NULL,WM_USER,WM_USER,PM_NOREMOVE) > 设置活动, 表示线程已准备好接收发布的消息。该 发布消息的线程通过调用来检索消息 GetMessage或PeekMessage函数。 hwnd的成员 返回的MSG结构为NULL。