mir fällt gerade auf, dass der auf der letzten seite vorgeschlagene source-code (WMDeviceChange) nicht funktioniert.
folgende funktion gibt keinen wert zurück, da
if (Maske and 1) = 1
niemals zutrifft:
Delphi-Quellcode:
function GetDrive(pDBVol: PDevBroadcastVolume): string;
var
i: Byte;
Maske: DWORD;
begin
if (pDBVol^.dbcv_flags and $0001) = $0001 then
begin
Maske := pDBVol^.dbcv_unitmask;
for i := 0 to 25 do
begin
if (Maske and 1) = 1 then
Result := Char(i + Ord('A')) + ': ';
Maske := Maske shr 1;
end;
end;
end;
// GetDrive(PDevBroadcastVolume(Msg.lParam))