Главная страница | назад

Article #15408: Getting the Win95 Desktop ListView Handle

 Question and Answer Database

FAQ408D.txt   Getting the Win95 Desktop ListView Handle
Category   :Windows API
Platform    :All
Product    :All 32 bit  

How do I get a handle to the Windows 95 Desktop to access the
Desktop icons?

The Windows 95 Desktop is overlayed with a ListView component.
You simply need to get a handle to the ListView. Example:

 function GetDesktopListViewHandle: THandle;
   S: String;
 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;

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:


will align the desktop icons to the left side of the Windows 95 desktop.

7/16/98 4:31:28 PM

Last Modified: 01-SEP-99