利用 BCB 擷取 VB 程式訊息的問題........ |
|
nieo
一般會員 發表:32 回覆:56 積分:17 註冊:2003-07-25 發送簡訊給我 |
各位大大請問一下; 小弟是 WIN-API 的新手,想要用BCB寫一個簡單的程式去擷取VB程式所丟出來的訊息,VB裡面是用SendMessage()這個函式丟訊息出來,請問各位大大:小弟寫了一段程式碼,在button的onclick()事件下,當我按下按鍵就會去擷取VB丟出來的訊息,程式碼如下: void __fastcall TForm1::Button1Click(TObject *Sender) 因為小弟是新手.....,所以不知道說是不是有什麼地方沒有宣告或是定義,都抓不到訊息,而且都會有錯誤訊息 Access violation at 77DF6996 in module 'user32.dll' .Read of address 00750046 請各位大大解惑!謝謝! |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
你好, { BEGIN_MESSAGE_MAP void __fastcall TMyControl::CMChangeColor(TMessage &Message) {
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
nieo
一般會員 發表:32 回覆:56 積分:17 註冊:2003-07-25 發送簡訊給我 |
|
nieo
一般會員 發表:32 回覆:56 積分:17 註冊:2003-07-25 發送簡訊給我 |
請問大大: 當我將 BEGIN_MESSAGE_MAP 這一段程式碼設定在.h裡面,然後再FORM裡面加上這一段函式: void __fastcall TForm1::OnCopyData(TMessage &Msg) 小弟想要做一個BUTTON來控制這段程式碼,但是要傳進去這個OnCopyData函式的TMessage參數要如何宣告,是說我只要宣告了一個TMessage型態的物件,他就會自動指到MSG MAP嗎?還是有另外的處理方法?請好心的大大解答一下! |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
你好,
依據你一開始所講的需求,我猜測你要的應該是: 當你按了button一下才開始想要接收訊息。若沒有按則不處理。若是如此,你可以在 .h header 上 public: bool RunFlag ; //加這行 在cpp上: void __fastcall TForm1::Button1Click(TObject *Sender) { RunFlag = true; } 修改你原來的程式: void __fastcall TForm1::OnCopyData(TMessage &Msg) { if ( RunFlag) //如果有按button的情形 { PCOPYDATASTRUCT pcp; pcp = (PCOPYDATASTRUCT)Msg.LParam; char* TraceMsg; TraceMsg = (char*)pcp->lpData; Memo1->Lines->Add(TraceMsg); } } 以上是我測你要的結果。若不是,就請把需求和想法講的更仔細些,才方便解決
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |