使用基于命令的编译器与Windows消息交互

时间:2013-06-25 11:12:18

标签: c winapi command-line windows-messages

这可能是一个愚蠢的问题,但在这里。

假设您正在与Driver API进行交互。您正在使用C并完全通过命令提示符完成。没有GUI。是否可以在这些文件中接收和处理Windows消息?

我的意思是,到处都是,我使用的是Windows句柄为NULL。我不知道这是否可能,甚至是否有意义。

1 个答案:

答案 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。