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

請教監控Clipboard問題.

尚未結案
Dip
一般會員


發表:6
回覆:4
積分:2
註冊:2004-04-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-21 17:25:12 IP:210.243.xxx.xxx 未訂閱
小弟需求是.從別的程式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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-22 17:12:12 IP:210.243.xxx.xxx 未訂閱
東翻西找..自己處理掉了. 監控Clipboard那篇是可行的.
系統時間:2024-05-05 3:49:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!