Icons auf dem Desktop anordnen |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Über dem Windows-Desktop liegt eine ListView-Komponente. Man benötigt also einfach ein Handle auf diese ListView. Beispiel:
function GetDesktopListViewHandle: THandle;
var S: String;
begin
Result := FindWindow('ProgMan', nil);
Result := GetWindow(Result, GW_CHILD);
Result := GetWindow(Result, GW_CHILD);
SetLength(S, 40);
GetClassName(Result, PChar(S), 39);
if PChar(S)<>'SysListView32' then Result := 0;
end;
Wenn man ein Handle hat, kann man die ListView-bezogenen API-Funktionen in der Unit CommCtrl verwenden, um den Desktop zu manipulieren. Siehe die LVM_xxxx-Botschaften in der Win32-Onlinehilfe.Folgender Code richtet beispielsweise die Desktop-Icons an der linken Seite des Windows-Desktops aus:
SendMessage(GetDesktopListViewHandle, LVM_ARRANGE, LVA_ALIGNLEFT, 0);
- Icon in der Taskleiste während des Programmablaufs ändern
- Anwendung im SysTray anzeigen
- Icons aus einer Datei lesen
- Icon auf eine TImage-Komponente zeichnen
- Pixelfarben auf dem Desktop ermitteln
- TIcon in TBitmap konvertieren
- Icon aus TBitmap erstellen
- Zeichnen auf den Desktop
- Screenshot des Windows-Desktops
- Icon aus einer Datei speichern