【笨嘴拙舌WINDOWS】实践检验之剪切板查看器【Delphi】
2013-09-16 15:21
169 查看
该程序能够监视Windows剪切板的内容(文字和图片)
其思路是
先调用SetClipBoardViewer(Self.Handle),让Windows剪切板内容发生改变之后,通知本程序;
然后截获WM_DRAWCLIPBOARD消息来查看剪切板里面的内容;
最后关闭程序时调用changeclipboardChain(handle,hwndNextViewer)注销监视剪切板
再处理WM_CHANGECBCHAIN消息来真正撤销
主要代码如下:
点击这里下载程序源码
其思路是
先调用SetClipBoardViewer(Self.Handle),让Windows剪切板内容发生改变之后,通知本程序;
然后截获WM_DRAWCLIPBOARD消息来查看剪切板里面的内容;
最后关闭程序时调用changeclipboardChain(handle,hwndNextViewer)注销监视剪切板
再处理WM_CHANGECBCHAIN消息来真正撤销
主要代码如下:
procedure TForm1.FormCreate(Sender: TObject); begin hwndNextViewer:= SetClipBoardViewer(Self.Handle); end; procedure TForm1.DrawclipBoard(var message: Tmessage); begin lbl1.Caption := '' ; if (hwndNextViewer<>0) then SendMessage(hwndNextViewer,message.Msg,message.WParam,message.LParam); PaintClip; end; procedure TForm1.FormDestroy(Sender: TObject); begin changeclipboardChain(handle,hwndNextViewer); end; procedure TForm1.ChangecbChain(var message: Tmessage); begin if (message.WParam=hwndNextViewer) then hwndNextViewer := message.LParam else if(hwndNextViewer<>0) then SendMessage(hwndNextViewer,message.Msg,message.WParam,message.LParam); end; procedure TForm1.PaintClip; Var htext,hBitmap:HGLOBAL; str:String; pch:Pointer; len:Integer; begin openclipboard(Self.Handle); htext := GetClipboardData(CF_TEXT); hBitmap := GetClipboardData(CF_BITMAP); if htext<>0 then begin pch:=globallock(htext); len:= globalSize(htext); SetString(str,Pchar(pch),len); lbl1.Caption := lbl1.Caption + str; globalunlock(htext); end; if hBitmap<>0 then begin img1.Picture.Bitmap.Handle := hBitmap; end; CloseClipBoard; end;
点击这里下载程序源码
相关文章推荐
- 【笨嘴拙舌WINDOWS】实践检验之按键精灵【Delphi】
- 【笨嘴拙舌WINDOWS】实践检验之屏幕取色
- 【笨嘴拙舌WINDOWS】实践检验之GDI缩放
- 需要这样一个记录本-3 Delphi调用Windows自带图片查看器
- Delphi的windows剪切板操作函数
- Delphi的windows剪切板操作函数
- 【笨嘴拙舌WINDOWS】剪切板
- Windows环境下的tomcat + apache配置(绝对实践操作版)
- Windows 7 环境下 Delphi 7 打开旧项目乱码的问题
- Delphi实践
- Windows平台分布式架构实践 - 负载均衡
- 利用DELPHI编写WINDOWS外壳
- Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务
- Windows 7下Git SSH 创建Key的步骤(经个人实践win10环境下也可行)
- Windows平台分布式架构实践 - 负载均衡(下)
- Windows平台分布式架构实践 - 负载均衡(下)
- 如何获取windows剪切板中内容
- 理解windows消息机制-delphi消息机制学习笔记。
- 基于visual c++之windows核心编程代码分析(38)实践服务器压力测试-SYN请求
- Windows平台分布式架构实践 - 负载均衡