- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >


Frequently Asked Questions

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.




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile