
25-04-2020, 07:33
|
|
Banned
|
|
Join Date: Jun 2019
Location: https://t.me/pump_upp
Posts: 3
Thanks: 29
Thanked 8 Times in 6 Posts
|
|
|
Inno setup - NoSD Code (plz help me)
Can anyone tell me what's wrong this?
const
DRIVE_UNKNOWN = 0;
DRIVE_NO_ROOT_DIR = 1;
DRIVE_REMOVABLE = 2;
DRIVE_FIXED = 3;
DRIVE_REMOTE = 4;
DRIVE_CDROM = 5;
DRIVE_RAMDISK = 6;
SHCNE_ASSOCCHANGED = $08000000;
SHCNF_IDLIST = $00000000;
function GetLogicalDrives: DWord;
external '[email protected] stdcall';
function GetDriveTypeA(lpRootPathName: AnsiString): UInt;
external '[email protected] stdcall';
function NoSD(s: String): String;
var
x, bit, i: Integer;
tp: Cardinal;
sd: string;
Begin
sd := ExpandConstant('{sd}');
x := GetLogicalDrives;
if x <> 0 then begin
for i:= 1 to 64 do begin
bit := x and 1;
if bit = 1 then begin
tp := GetDriveTypeA(PAnsiChar(Chr(64 + i) + ':'));
if tp = DRIVE_FIXED then begin
if Chr(64 + i) <> Copy(sd, 1, 1) then begin
Result := Chr(64 + i) + ':';
Break;
end;
end;
end;
x := x shr 1;
end;
end;
end;
|