Zitat von
Codewalker:
InnoSetup kann doch auch Funktionen aus DLLs importieren und GetVolumeInformation sollte sich doch problemlos so importieren lassen (aus der Kernel32.dll. Genaue Infos sind ja in der Windows.pas drin). Benötigte Konstanten kann man da auch schnell deklarieren - dann spart man sich temporäre Programme und diverse Umwege
Wenn es eine elegantere Methode gibt, würde ich Dich bitten, mir noch etwas zu helfen. In der windows.pas habe ich das gefunden:
Delphi-Quellcode:
function GetVolumeInformation(lpRootPathName: PChar;
lpVolumeNameBuffer: PChar; nVolumeNameSize: DWORD; lpVolumeSerialNumber: PDWORD;
var lpMaximumComponentLength, lpFileSystemFlags: DWORD;
lpFileSystemNameBuffer: PChar; nFileSystemNameSize: DWORD): BOOL; stdcall;
{$EXTERNALSYM GetVolumeInformation}
In meinen Programmen habe ich mit
if GetvolumeInformation(pchar(drive + ':\'), nil, 0, id, dwx, dwy, nil, 0) then result := copy(IntToStr(ID^),1,8)
gearbeitet, da ich nur die ersten acht Ziffern benötige.
Wie komme ich über den Import an den String?
Gruß
Rüd
[edit=mkinzler]Delphi-Tags eingefügt Mfg, mkinzler[/edit]