想测试一下PostMessage(),竟然让它关了我所有的桌面,还导致关机. 一点都不守规矩~~
PostMessage()与SendMessage()的区别在于(看过MSDN解释后,经过朋友的帮助,唉~ 英语还不过关啊),前者是把消息插入到队列中,不等待消息处理就返回,这就说明它并不中断当前消息的.而SendMessage()它等待处理消息完毕,接受处理的返回值,然后再回到消息循环.根据通途不同,用法不同
原来消息是不存在优先权的. 在MSDN看到一个HWND_BROADCAST参数,小试一下,MSG=WM_CLOSE,all process are over.原来这个参数传递了WM_CLOSE到当前打开或者最小化的所以窗口,后台的窗口,甚至是内核进程,它将弹出关机界面.但在内核说明中,为了保证进程间互补影响,并不是每个进程都可以向其他进程发送消息.
这样的消息传递好象很危险.