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





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  

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.



7/16/98 4:31:28 PM
 

Last Modified: 01-SEP-99