線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1704
推到 Plurk!
推到 Facebook!

How to close someone of the windows ,and process

尚未結案
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-21 14:36:14 IP:203.69.xxx.xxx 未訂閱
1.請問如何關閉視窗,及檢查視窗的無回應狀態?? ^_^    2.請問如何關閉Process,及檢查Process的無回應狀態?? ^_^
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-21 17:23:46 IP:203.73.xxx.xxx 未訂閱
引言: 1.請問如何關閉視窗,及檢查視窗的無回應狀態?? ^_^ 2.請問如何關閉Process,及檢查Process的無回應狀態?? ^_^ < face="Verdana, Arial, Helvetica"> tender 你好: (1)關閉 Window 用 SendMessage(hWnd, WM_CLOSE, 0, 0); (2)關閉 Process 用 TerminateProcess -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-21 19:06:07 IP:211.75.xxx.xxx 未訂閱
感謝千萬分!!
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-21 21:23:55 IP:61.221.xxx.xxx 未訂閱
引言: 1. WM_ClOSE 如果遇到沒有回應的AP ,也會跟著掛耶!!! 2.TerminateProcess in MSDN says no chance to save and free. 還是只有你裡我,感動!!!
tender 你好:
(1)請問你是如何做驗證的呢??< >我是用以下方法做驗證的< >
   (1.1)先做一個無回應的 Application: 在 BCB 中新開一個 Application,
        然後加入以下的程式碼
        void __fastcall TForm1::Button1Click(TObject *Sender)
        {
           Caption="NoResponse";
           while(1)
           {
           }   
        }
   (1.2)假設以上的 Application 為 A.exe,先執行 A.exe,按下 Button1,
        然後用工作管理員 check 它是否已經真的無回應了
   (1.3)另外在 BCB 中新開一個 Application,然後加入以下的程式碼
        void __fastcall TForm1::Button1Click(TObject *Sender)
        {
           HWND hWnd=FindWindow(NULL, "NoResponse");
           SendMessage(hWnd, WM_CLOSE, 0, 0);
        }
   (1.4)執行以上的 Application,按下 Button1,看看 A.exe 有沒有被關掉
(2)請問你那段話是在哪裡看到的呢??
   >    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-21 22:20:36 IP:203.69.xxx.xxx 未訂閱
大人,小的冤望阿!!! 絕非造假~~    這也是 MSDN 說的 Any thread calls the TerminateProcess function with a handle to the process. This terminates all threads of the process, without allowing them to clean up or save data.     請問大人;; 我開個Thread用SendMessage(hWnd,WM_ACTIVATEAPP,0,0); 監察那個Window有無回應,卻照成 WORD 無法使用Keyboard & Mouse, 用 WM_ACTIVATE 後換Outlook ,但是只要我的AP關掉後就恢復了喔 請問有其他的方法監察嗎??        < >< >
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-02-21 22:31:27 IP:203.69.xxx.xxx 未訂閱
sorry!! 忘了一起 post    這是無回應的AP  while(1)        {         Sleep(1);         ;        } 然侯它的 hWnd 是從 Desktop window (0) 找起的然後寄下來的 ,用同樣的方法可以關掉有回應的window喔!! ps.經測試.用PostMessage(hWnd,WM_CLOSE,0,0);比較好           應為SendMessage關不了檔案總管耶!! (難道是.. There are some ghost living in my computer.  恐怖哦!!   )
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-02-21 22:33:30 IP:61.221.xxx.xxx 未訂閱
引言: 大人,小的冤望阿!!! 絕非造假~~ 這也是 MSDN 說的 Any thread calls the TerminateProcess function with a handle to the process. This terminates all threads of the process, without allowing them to clean up or save data. 請問大人;; 我開個Thread用SendMessage(hWnd,WM_ACTIVATEAPP,0,0); 監察那個Window有無回應,卻照成 WORD 無法使用Keyboard & Mouse, 用 WM_ACTIVATE 後換Outlook ,但是只要我的AP關掉後就恢復了喔 請問有其他的方法監察嗎?? < >< >
tender 你好:
(1)TerminateProcess 應該是沒有什麼問題的,我從以前用到現在,還沒有什麼
   很特殊的問題出現
( >
    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
tender
初階會員


發表:23
回覆:90
積分:37
註冊:2002-09-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-02-21 23:34:06 IP:211.75.xxx.xxx 未訂閱
sorry !! 我的意思是他們無法被fcous echo = true; if(!SendMessage(HWND,WM_ACTIVATEAPP,NULL,NULL)) echo = true; 若遇到無回應的AP就停住了 自己的timeout 到了就 echo = false; 然後要關掉他.. 請問 How & Why & What capatility to use WaitForSingleObject 不是大人的大人(哈!哈!別生氣喔!把你當大哥一樣^_^) thx .
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-02-21 23:41:12 IP:61.221.xxx.xxx 未訂閱
引言: sorry !! 我的意思是他們無法被fcous echo = true; if(!SendMessage(HWND,WM_ACTIVATEAPP,NULL,NULL)) echo = true; 若遇到無回應的AP就停住了 自己的timeout 到了就 echo = false; 然後要關掉他.. 請問 How & Why & What capatility to use WaitForSingleObject 不是大人的大人(哈!哈!別生氣喔!把你當大哥一樣^_^) thx .
tender 你好: 那~~建議你直接用這個 Win32 API 試好了(SendMessageTimeout) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/MessagesandMessageQueues/MessagesandMessageQueuesReference/MessagesandMessageQueuesFunctions/SendMessageTimeout.asp -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
系統時間:2024-04-26 3:10:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!