Thema: Delphi desktopViewMode

Einzelnen Beitrag anzeigen

Benutzerbild von rawsoul
rawsoul

Registriert seit: 29. Okt 2006
Ort: Düsseldorf
249 Beiträge
 
Delphi 2005 Personal
 
#1

desktopViewMode

  Alt 24. Feb 2008, 15:15
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.
Frank Dumont
  Mit Zitat antworten Zitat