DELPHI 通过U盘方式加密


本文整理自网络,侵删。

 1.检查是否是U盘

2.查检U盘的卷标

3.通过VolumeLable的返回值对比判断是否你加密的U盘(卷标要定义好)



function CheckUsbDisk(FLable:string):Boolean; //检验是否是USB优盘
var
Drive: Integer;
DriveLetter: Char;
begin
Result :=false;
for Drive := 2 to 25 do
begin
DriveLetter := Chr(Drive + ord('A'));
if GetDrivetype(PChar(DriveLetter+':\'))= DRIVE_REMOVABLE then
begin
if VolumeID(DriveLetter)=FLable then
begin
Result :=true;
exit;
end;
end;
end;
end;

function VolumeLable(DriveChar: Char): string; //检验USB优盘的卷标
var
OldErrorMode: Integer;
NotUsed, VolFlags: DWORD;
Buf: array [0..MAX_PATH] of Char;
begin
OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
try
Buf[0] := #$00;
if GetVolumeInformation(PChar(DriveChar + ':\'), Buf, DWORD(sizeof(Buf)),
nil, NotUsed, VolFlags, nil, 0) then
SetString(Result, Buf, StrLen(Buf))
else Result := '';
if DriveChar < 'a' then
Result := AnsiUpperCaseFileName(Result)
else
Result := AnsiLowerCaseFileName(Result);
Result := Format('%s',[Result]);
finally
SetErrorMode(OldErrorMode);
end;
end;

相关阅读 >>

Delphi idhttp中get与post的区别

Delphi 如何使用 ppchar

github上通过星级评估排名前10的最受欢迎的开源Delphi项目

Delphi 四舍五入取整函数

汇编基础知识

Delphi 禁用启用网卡

Delphi 弹出输入框的inputquery, inputquery 函数用法

Delphi判断字符串是否是数字、字母、大小写字母

Delphi 字符串处理

Delphi下程序内存泄露报告

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...