Hi,
ich extrahiere die Windowsicons aus der shell32.dll. Das Icon 235 müsste eigentlich das Icon für 'Eigene Dateien' sein, wird aber in meinem Programm durch eine Art Icon ersetzt, welches darstellen soll, dass dieses Icon kaputt gegangen ist. Das kann aber nicht sein, da mir Windows und ein Programm zum Icon extrahieren das Icon korrekt unter der Id 235 anzeigt (siehe Avatar). Hier erstmal der Code:
Delphi-Quellcode:
function TfrmMain.IconLesen(icon_nr_s : cardinal) : TIcon;
var s : PAnsiChar;
begin
Result := TIcon.Create;
s := 'C:\Windows\system32\shell32.dll';
Result.Handle := ExtractIcon(Application.Handle, s, icon_nr_s);
end;
// ...
IconLesen(235);
Außerdem würde ich gerne noch wissen, wie ich den Code mit der GetWinDir-Funktion erweitern könnte, denn s erwartet PAnsiChar und GetWinDir liefert String zurück:
Delphi-Quellcode:
function TfrmMain.GetWinDir: String;
var
Buffer: PAnsiChar;
Len:Cardinal;
begin
Buffer := nil;
Len := GetWindowsDirectory(Buffer,0);
Buffer := allocMem(Len);
GetWindowsDirectory(Buffer,Len);
Result := Buffer;
FreeMem(Buffer);
end;
Die Listen scheinen aber alle unterschiedlich zu sein und eine auf Delphi bezogene Liste habe ich noch nicht gefunden.