vc调试的时候另一程序有弹出对话框会导致VC暂停运行,要等对话框关掉会才能接着运行,怎么处理
vc调试的时候另一程序有弹出对话框会导致VC暂停运行,要等对话框关掉会才能接着运行,怎么办?
想用VC完成想另一EXE文件发送按键信息,调试的时候,另一程序接收到VC发送的'确认'键信息,就有弹出对话框,这时候VC就不运行了,要等对话框关掉会才能接着运行,而我本来还想对弹出的这个对话框也发送按键值的,这个时候能怎么办?
SendMessage(hwndEx4,BM_CLICK,0,0); //运行完弹出“是/否”的对话框
Sleep(500);
HWND C_hWnd = FindWindow("#32770",NULL);//这句就要等弹出的对话框关掉才会运行
if(C_hWnd)
printf("委托 %d!!\r\n",C_hWnd);
请高手赐教!
------解决思路----------------------
你的Sleep会阻塞程序。
如果你使用C++编程,就应该用面向对象的思考方式写程序,一切动作由对象的状态触发,而不是用流程方式控制。
------解决思路----------------------
你的消息机制没弄对,参考我的blog
http://blog.****.net/jennyvenus/article/details/18166
------解决思路----------------------
PostMessage
------解决思路----------------------
SendMessage(hwndEx4,BM_CLICK,0,0);
是同步消息,
PostMessage(hwndEx4,BM_CLICK,0,0);
是 异步消息。
------解决思路----------------------
使用异步消息,postmessage,不用等待的。
同步消息需要等待对方返回
想用VC完成想另一EXE文件发送按键信息,调试的时候,另一程序接收到VC发送的'确认'键信息,就有弹出对话框,这时候VC就不运行了,要等对话框关掉会才能接着运行,而我本来还想对弹出的这个对话框也发送按键值的,这个时候能怎么办?
SendMessage(hwndEx4,BM_CLICK,0,0); //运行完弹出“是/否”的对话框
Sleep(500);
HWND C_hWnd = FindWindow("#32770",NULL);//这句就要等弹出的对话框关掉才会运行
if(C_hWnd)
printf("委托 %d!!\r\n",C_hWnd);
请高手赐教!
------解决思路----------------------
你的Sleep会阻塞程序。
如果你使用C++编程,就应该用面向对象的思考方式写程序,一切动作由对象的状态触发,而不是用流程方式控制。
------解决思路----------------------
你的消息机制没弄对,参考我的blog
http://blog.****.net/jennyvenus/article/details/18166
------解决思路----------------------
PostMessage
------解决思路----------------------
SendMessage(hwndEx4,BM_CLICK,0,0);
是同步消息,
PostMessage(hwndEx4,BM_CLICK,0,0);
是 异步消息。
------解决思路----------------------
使用异步消息,postmessage,不用等待的。
同步消息需要等待对方返回