方法1:(模擬回車實現)
settimer(1,1000,null);
messagebox("test","test1");
在ontimer(uint nidevent) 中
if(nidevent == 1)
方法2:getforegroundwindow()得到控制代碼 sendmessagecallback傳送訊息
void cyswdlg::onbutton1()
void callback timerproc(hwnd hwnd, uint message, uint itimerid, dword dwtime)
方法3:呼叫 findwindowex 而不是 findwindow
cdialog dlg(idd_dialog1);
settimer(1,1000,null);
messagebox("test","test1",1);
// dlg.domodal();
在void cmy11dlg::ontimer(uint nidevent) 中
if(nidevent==1)
可以實現關閉主對話方塊 messagebox對話方塊 domodal對話方塊 呵呵終於完功.
messagebox("test","test1",1);
handle hwd=findwindowex(null,null,null,"test1");//執行不到
if(hwd)
::sendmessage((hwnd)hwd,wm_close,null,null);
他執行到messagebox("test","test1",1);時候,主線程就掛起了,不往下執行了,等你點確定,才會再往下執行,你加段點跟蹤就知道了.
注意:必須用定時器才能實現.只有通過計時器來,啟動另外執行緒來控制它.
主線程被掛起了,只有用其它執行緒來幫忙了
延時並自動關閉MessageBox
資訊提示框 messagebox 是微軟net自帶的乙個用於彈出警告 錯誤或者訊息一類的 模式 對話方塊。此類對話方塊一旦開啟,則後台窗體無法再被啟用 除非當前的messagebox被點選或者關閉取消 那麼如何使用程式模擬滑鼠點選這個messagebox 關閉這個messagebox 呢?答案是你在...
延時並自動關閉MessageBox
資訊提示框 messagebox 是微軟net自帶的乙個用於彈出警告 錯誤或者訊息一類的 模式 對話方塊。此類對話方塊一旦開啟,則後台窗體無法再被啟用 除非當前的messagebox被點選或者關閉取消 那麼如何使用程式模擬滑鼠點選這個messagebox 關閉這個messagebox 呢?答案是你在...
自動關閉MessageBox提示框
dllimport user32.dll public static extern int messageboxtimeouta intptr hwnd,string txt,string caption,int wtype,int wlange,int dwtimeout 記得前面引用命名空間 u...