請教監控Clipboard問題. |
尚未結案
|
Dip
一般會員 發表:6 回覆:4 積分:2 註冊:2004-04-19 發送簡訊給我 |
小弟需求是.從別的程式CopytoClipboard.我的程式攔下"AAA"字串,
再將"AAA"改為"ABC",最後送回Clipboard.
本來是用 OnIdle 來處理. 可是 CPU 9x% ..
Clipboard() 有沒有 OnChange Event 呢? 另,也有找到監控Clipboard的文章.
可是看不懂. 依樣畫葫蘆也是Error一堆.
在Form1的.h的private加上: void __fastcall ClipboardChanged(TMessage& Msg); 在Form1的.h的public加上: BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_DRAWCLIPBOARD,TMessage,ClipboardChanged) END_MESSAGE_MAP(TForm) 在Form1的.cpp内加上: void __fastcall TForm1::ClipboardChanged(TMessage& Msg) { POINT MousePos; GetCursorPos(&MousePos); PopupMenu4->PopupComponent=Form1; PopupMenu4->Popup(MousePos.x,MousePos.y); //一有变化,就弹出一个菜单,复制,剪切或清除都能引发此函数 } 在Form1的.cpp内有一个ToolButton void __fastcall TForm1::ToolButton9Click(TObject *Sender) { static HWND LastHandle; static bool clip=false; if(clip==true) { ToolButton9->Down=false; ChangeClipboardChain(Form1->Handle,LastHandle); //结束监视 } else { ToolButton9->Down=true; Clipboard()->Clear(); Application->Minimize(); LastHandle=SetClipboardViewer(Form1->Handle); //启动监视 } clip=!clip; }發表人 - dip 於 2004/09/21 17:30:15 |
Dip
一般會員 發表:6 回覆:4 積分:2 註冊:2004-04-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |