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

FindWindow與TService 溝通傳遞COPYDATA訊息

尚未結案
hauhan
一般會員


發表:11
回覆:9
積分:4
註冊:2004-07-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-07 11:21:51 IP:211.72.xxx.xxx 未訂閱
===================================================== 我的TService1類別 執行檔名稱為DDEService ===================================================== class TService1 : public TService { __published: // IDE-managed Components private: // User declarations void __fastcall OnCopyData( TMessage &Message ); public: // User declarations __fastcall TService1(TComponent* Owner); TServiceController __fastcall GetServiceController(void); friend void __stdcall ServiceController(unsigned CtrlCode); protected: BEGIN_MESSAGE_MAP VCL_MESSAGE_HANDLER(WM_COPYDATA, TMessage, OnCopyData) END_MESSAGE_MAP(TService1) }; ===================================================== FindWindow的方式 ===================================================== HWND pOtherWnd = FindWindow(NULL, "DDEService"); ===================================================== 結果: ===================================================== 雖然 pOtherWnd 可以被找到但是 SendMessage(pOtherWnd, WM_COPYDATA, (WPARAM)0, (LPARAM)&cpd); 後TService1卻收不到訊息... 依照TService的繼承關係來看似乎只能傳遞訊息到TObject的Dispatch去 但是試了很久OnCopyData就是收不到訊息... 麻煩各位大大幫小弟解惑吧... >.< =======================發問六小時後分格線======================= 經過多次嘗試後TService依然收不到訊息 參考到包子大大 【BCB】【發表】Service Application 範例程式 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=31566 的文章後,學他建立一個Form來接收訊息,才能順利的在"Form"接收到訊息.... 因此會有一些疑問 1.TService 繼承自 TObject 照理說應該同樣接收的到訊息才對不是嗎? 2.FindWindow在沒有Form的狀況下尋找Handle只能填Application名稱? (因為沒有Caption的名稱)而且這個Handle會我我要的Handle嗎?? 3.Service Application 不能在BCB Debug嗎???(因為必須透過控制台內的 服務啟動) 發表人 - hauhan 於 2004/10/07 18:24:06
系統時間:2024-05-04 19:04:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!