OWL NExt - Knowledge Base

[ Home | Contents | Search | Next | Previous | Up ]

Windows 95 Desktop, ListView

Date: 12/1/99
Time: 9:50:21 PM


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:

HWND GetDesktopListViewHandle();

HWND TForm1::GetDesktopListViewHandle()
{
   HWND  hwnd;
   hwnd = FindWindow("ProgMan",NULL);
   hwnd = GetWindow(hwnd, GW_CHILD);
   hwnd = GetWindow(hwnd, GW_CHILD);
   return hwnd;
}

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:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   SendMessage(GetDesktopListViewHandle(),
               LVM_ARRANGE,
               LVA_ALIGNLEFT,
               0);
}

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

Last changed: July 14, 2001