我在一个程序中调用API SendMessage()向另一个程序发送消息(是自定义消息),在接收程序中的DefWndProc()中可以接受到消息,但是用GetMessage()为什么接收不到呢?
两天了,这个问题还是没有解决,身边也没有一个学电脑的人,各位老大请帮帮小弟!

解决方案 »

  1.   

    那就是GetMessage()把你的消息过滤掉了。
      

  2.   

    我发送是SendMessage(XX,49629,XX,XX);
    接收是GetMessage(ref msg,0,49629,49629);GetMessage(ref msg,0,0,0);都试过。
    请问GXY2005:GetMessage()的过滤消息是指后面两个参数吗?
      

  3.   

    那这样才能不被扔掉?DefWndProc()中可以接受到,有可能是DefWndProc()过滤了,但是我在Main()中也不能接收。
      

  4.   

    好像很少有人用GetMessage,既然你在DefWndProc()中能获得,那么直接在其中进行处理不就行了,非要获得吗
      

  5.   

    Knight94:“好像很少有人用GetMessage,既然你在DefWndProc()中能获得,那么直接在其中进行处理不就行了,非要获得吗”我做的程序没有窗体,需要在Main()中获取消息,所以DefWndProc()不能用!
      

  6.   

    如果能在DefWndProc()获得,你可以使用wmi来获得
      

  7.   

    参看
    http://blog.csdn.net/knight94/archive/2006/03/21/631196.aspx
      

  8.   

    非常感谢 Knight94(愚翁)!
    不过消息发过来了收不到,找不出原因,总觉得有点不甘心!