程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 如何監視剪貼板

如何監視剪貼板

編輯:關於C++

在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;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved