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.