Mega Code Archive

 
Categories / Delphi / API
 

Getting the win95 desktop listview handle

Question: How do I get a handle to the Windows 95 Desktop to access the Desktop icons? Answer: The Windows 95 Desktop is overlayed with a ListView component. You simply need to get a handle to the ListView. Example: 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; Once you have the handle, you can use the list view-related API functions in the CommCtrl unit to manipulate the desktop. See the LVM_xxxx messages in the Win32 online help. For example the following line of code: SendMessage(GetDesktopListViewHandle,LVM_ALIGN,LVA_ALIGNLEFT,0); will align the desktop icons to the left side of the Windows 95 desktop.