有時要程式設計結束乙個程式的執行。
比如說 hwnd 是你要操作的那個視窗的控制代碼。
如果是一般的情況
::postmessage(hwnd,wm_close,0,0);
就可以了。
(注意不要傳送 wm_destroy訊息。
這兩者有什麼區別呢?wm_close,會正常關閉程式,比如說,如果是word檔案未儲存,系統會提示你是否要儲存的。
而 wm_destroy 則不會給你任何提示,就強行結束了。)
但如果是失去響應的應用程式,不論是wm_close還是wm_destroy都無能為力,因為該隔膜幫浦
控制項,必須要是 這樣的形式的。
別的有很多功能是不支援的。比如我想配置文字的背景色卻不能成功哦
好不容易找到的,放在這兒備查!
以傳送ctrl+p為例,hwnd是接受訊息的視窗控制代碼,
keybd_event( vk_control,0,0,0 );
::postmessage( hwnd, wm_keydown, 'p',0);
sleep (30);
::postmessage( hwnd, wm_keyup, 'p',0);
keybd_event( vk_control,0,keyeventf_keyup,0 );
怎麼獲得具有輸入焦點的子視窗控制代碼?這個問題看似簡單,卻困惑了很多有經驗的程式設計師。
下面我把問題分解一下。
1,獲得本程序具有輸入焦點的子視窗控制代碼
getfoucus
2,獲得系統中的當前視窗
getforegroundwindow
但要怎麼獲得整個系統中具有輸入焦點的的視窗呢?看下面**
cwnd *pwnd = getforegroundwindow();
if( pwnd )
C 如何判斷程式呼叫的exe已結束
二個方法 以執行系統記事本為例 方法一 這種方法會阻塞當前程序,直到執行的外部程式退出 system.diagnostics.process exep system.diagnostics.process.start c windows notepad.exe exep.waitforexit 關鍵...
C 如何判斷程式呼叫的exe已結束
二個方法 以執行系統記事本為例 方法一 這種方法會阻塞當前程序,直到執行的外部程式退出 system.diagnostics.process exep system.diagnostics.process.start c windows notepad.exe exep.waitforexit 關鍵...
C 如何判斷程式呼叫的exe已結束
二個方法 以執行系統記事本為例 方法一 這種方法會阻塞當前程序,直到執行的外部程式退出 system.diagnostics.process exep system.diagnostics.process.start c windows notepad.exe exep.waitforexit 關鍵...