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 用dde控制word

Delphi unigui 控件动画

Delphi 掌控pagecontrol中的右上方的左右箭头事件

Delphi tthread线程同步

Delphi length 统计指定字符串的长度(即个数)

Delphi unigui程序部署到服务器

Delphi unigui 调用js

Delphi清空回收站

Delphi png异形窗口

Delphi与正则表达式

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



打赏

取消

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

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

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

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

评论

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