我写了两个程序。一个程序是控制程序,用来检测系统是不是有键盘鼠标消息(程序1)。 另外一个程序用来显示一副图片(程序2)。 监控程序监测到系统1 0秒钟没有键盘,鼠标消息,就启动程序2(如果没有启动的话)。一旦监测到有了消息,就关闭程序2(如果已经存在的话)。现在的问题是,程序1一起动程序2就检测到了消息。鼠标,键盘我都没有动。这个消息来自那里?我想是不是程序2启动会发出WM_MOUSEMOVE消息(发出keydown不太可能!)
请为我解释一下。
程序2使用sdk编写的全屏循环显示图片的程序。

解决方案 »

  1.   

    case WM_MOUSEMOVE:
    case WM_RBUTTONDOWN:
    case WM_LBUTTONDOWN:
        PostQuitMessage(0);
        break;而且,如果我在程序2加入上面这个代码的话,单独启动程序2,也是一起动程序就没有了。WM_MOUSEMOVE的消息从哪里来。
      

  2.   

    是的.我以前也发现过这个问题.
    程序一启动的时候,会发出一个这样的消息,是程序启动时候的鼠标位置.我觉得你可以这样,如果10秒种内鼠标没有动,就启动程序2,这个时候,记下当时鼠标的位置,如果和上一次相同,就不要触发程序1.明白了吗?说白了,就是间测WM_MOUSEMOVE消息的时候一起关心下它的坐标.如果坐标变了,再做动作
      

  3.   

    我以前写程序的时候,感觉WM_MOUSEMOVE似乎不动鼠标也会发,不明白是为什么。
      

  4.   

    我也遇到这个问题,就是MOUSEMOVE搞的鬼~~大概是因为鼠标的MOVE消息,只要鼠标存在它就存在把。