zoukankan      html  css  js  c++  java
  • 【笨嘴拙舌WINDOWS】实践检验之剪切板查看器【Delphi】

    该程序能够监视Windows剪切板的内容(文字和图片)

    其思路是

    先调用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;

    点击这里下载程序源码

  • 相关阅读:
    poj 2488 DFS
    畅通工程 并查集模版
    KMP 模板
    poj 1426 DFS
    poj 2528 线段数
    poj 3468 线段数 修改区间(点)
    CVPR2012文章阅读(2)A Unified Approach to Salient Object Detection via Low Rank Matrix Recovery
    如何制定目标
    Saliency Map 最新综述
    计算机视觉模式识别重要会议杂志
  • 原文地址:https://www.cnblogs.com/pavkoo/p/3324326.html
Copyright © 2011-2022 走看看