📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,MD5,ShellAPI;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Button2: TButton;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
procedure dragdropfile(var msg:tmessage);message wm_dropfiles;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Edit1.Text:=OpenDialog1.FileName;
end;
procedure TForm1.Button2Click(Sender: TObject);
var md5stringname:string;
begin
Edit2.Text:=MD5Print(MD5File(Edit1.Text));
end;
procedure TForm1.dragdropfile(var msg: tmessage);
var
DropFile: TFileName;
i, count, cLength, code: Integer;
begin
count := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 0);
try
Screen.Cursor := crHourGlass;
if count > 0 then
begin
if Pos('将您需要检测的文件直接拖拽到本窗口中即可进行', Edit1.Text) <> 0 then
Edit1.Clear;
end;
for I := 0 to count - 1 do
begin
cLength := MAX_PATH;
SetLength(DropFile, cLength);
cLength := DragQueryFile(Msg.WParam, I, PChar(DropFile), cLength);
Edit1.Text:=DropFile;
SetLength(DropFile, cLength);
code := GetFileAttributes(PChar(DropFile));
if (Code <> -1) and (FILE_ATTRIBUTE_DIRECTORY and Code <> 0) then
begin
MessageDlg('"' + DropFile + '" 是目录, 无法 Hash。'#13#10 +
'点击确定继续!', mtError, [mbOK], 0);
Continue;
end;
Edit2.Text:=MD5Print(MD5File(DropFile));
end;
finally
DragFinish(Msg.WParam);
Screen.Cursor := crDefault;
end;
SetForegroundWindow(Handle);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle,true);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle,False);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -