Hallo liebe Liebenden,
aufgrund von Platzproblemen auf meinem Desktop habe ich nach einer Möglichkeit gesucht, meinen Desktop Viewmode zu ändern. Klappt soweit ganz gut. Allerdings kann ich auch nur 'viewen', keine Symbole anklicken oder gar Dateien / Ordner öffnen. Der Code ist von einem C++ Programm abgeleitet.
Delphi-Quellcode:
procedure setDesktopViewMode(viewMode:Integer);
var
handle:hwnd;
begin
handle := findwindowex(findwindowex(findwindow('
Progman',
nil),0,'
SHELLDLL_DefView',
nil),0,'
SysListView32',
nil);
SetWindowLong(
handle, GWL_STYLE, LVS_LIST);
ShowWindowAsync(
handle, SW_SHOW);
case viewmode
of
0: SetWindowLong(
handle, GWL_STYLE, LVS_ICON);
1: SetWindowLong(
handle, GWL_STYLE, LVS_SMALLICON);
2: SetWindowLong(
handle, GWL_STYLE, LVS_LIST);
3: SetWindowLong(
handle, GWL_STYLE, LVS_REPORT);
end;
SendMessage(
handle, WM_STYLECHANGED, GWL_STYLE, 10);
SendMessage(
handle, LVM_ARRANGE, LVA_DEFAULT, 0);
ShowWindow(
handle, SW_SHOWNORMAL);
end;
Falls man den Schnipsel testen möchte, reicht ein Neuladen des Prozesses explorer.exe, damit alles wieder so funktioniert, wie es sollte.
Vielleicht kann mir ja jemand helfen, das Problem zu lösen =)
Gruß, Frank.