delphi 监控剪切板文件名  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 监控剪切板文件名


unit Unit1;


interface


uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;


type

  TForm1 = class(TForm)

    Memo1: TMemo;

    Timer1: TTimer;

    procedure Timer1Timer(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;


var

  Form1: TForm1;

implementation

{$R *.dfm}


uses Clipbrd,shellAPI;


procedure TForm1.Timer1Timer(Sender: TObject);

var

  f: THandle;

  buffer: Array [0..MAX_PATH] of Char;

  i, numFiles: Integer;

begin

  Clipboard.Open;

  try

    f := Clipboard.GetAsHandle(CF_HDROP);

    if f <> 0 then

    begin

       numFiles := DragQueryFile(f, $FFFFFFFF, nil, 0);

      for i:= 0 to numfiles - 1 do

      begin

        buffer[0] := #0;

        DragQueryFile( f, i, buffer, sizeof(buffer));

        if FileExists(buffer) then

        begin

          //process file

          Memo1.Lines.Add(buffer);

end;

      end;

    end;

  finally

    Clipboard.close;

  end;

end;



end.



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.31362104415894 seconds