![]() |
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; |
The code is working correctly.
It returns the first drive unit found that is fixed (HD/SSD) and is not the system drive. |
Quote:
Work: Red = you add Green = delete Code:
var |
| All times are GMT -7. The time now is 12:29. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com