如何攔截 ShowMessage 的對話框,並按下確定鍵..... |
尚未結案
|
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 大家好! 請問如何在程式中攔截因錯誤訊息而出現的ShowMessage 的對話框,並按下確定鍵,以做後續的處理?? 在以下的文章中,可以攔截按鍵,是不是也有類似方法攔截到ShowMessage 的對話框? http://delphi.ktop.com.tw/topic.php?topic_id=43723 謝謝您熱心幫忙 >>< face="Verdana, Arial, Helvetica"> 您好, 我看不太懂您的問題, 如果您只是要攔截錯誤訊息, 不讓它跑出來, 可以用try except, 例如:procedure TForm1.Button1Click(Sender: TObject); begin StrToInt('a'); end; procedure TForm1.Button2Click(Sender: TObject); begin try StrToInt('a'); except // 攔截錯誤訊息, 秀出自己的訊息 ShowMessage('Error'); end; end;Button1 沒攔截, Button2有攔截, 你可以比較其中的不同... |
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: Zard兄您好! 我目前想攔截的Message是我引用的元件中產生的,以Try.. Exception方法我試過了並沒有辦法攔截到該訊息,因為該訊息並非是錯誤造成的,而是該元件在執行過程中自己產生的... 比方當出現對話框 " Please wait a moment " 時,我要能即時偵測到,並加入處理程式碼.您好, 若只是元件所產生的訊息, 建議您直接修改元件的程式碼, 若要直接攔截而不透過修改元件程式碼的話, 可能還要在研究一下它是如何顯示訊息的, 比如說他是用Win API的MessageBox, 你可以用API Hook去擋, 若不是的話就要另想方法了. |
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
kadlac: 請試試使用以下方式看可否抓到錯誤訊息再行處理! .hpp public: // User declarations __fastcall TForm1(TComponent* Owner); void __fastcall HandleExceptions(TObject *Sender, Exception *E); .cpp void __fastcall TForm1::FormCreate(TObject *Sender) { // 設定exception handler.自定義異常處理窗口 Application->OnException = HandleExceptions; } void __fastcall TForm1::HandleExceptions(TObject *Sender, Exception *E) { if (E->Message.Length()) { Screen->Cursor = crArrow; AnsiString errorstr="應用程序發生了錯誤.\n" E->Message; Application->MessageBox(errorstr.c_str(),"發生異常",MB_OK); } } 請參考!Andy Chang
------
Andy Chang |
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
kadlac:我上傳一個BCB5寫的程式
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=58762
【BCB】Delete Norton AntiVirus Message Box
請參考!
說明:NT-Server上使用Norton AntiVirus發現病毒時會show出MessageBox
,我這程式就是偵測發現並刪除之。
可能可以符合你的需要。
裡面寫的很亂!請你慢慢研究。
請參考! Andy Chang 發表人 - andychang1690 於 2004/10/29 11:56:00
------
Andy Chang |
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |