AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > C++

如何监视剪贴板

51自学网 http://www.wanshiok.com
在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;
}

 

 

 
上一篇:关于C++中RTTI的编码实现  下一篇:如何截获API函数