當前位置:編程學習大全網 - 編程軟體 - [VC++]如何獲取桌面窗口(桌面圖標)的句柄

[VC++]如何獲取桌面窗口(桌面圖標)的句柄

包含圖標的窗口實際上是DesktopWindow的壹個word窗口。確切的說,桌面窗口包含壹個名為“SHELLDLL_DefView”的無標題子窗口,這個子窗口包含壹個名為“SysListView32”的無標題子窗口——這是真正包含桌面圖標的窗口。

// HWND_DESKTOP是桌面窗口句柄。

要操作桌面圖標,您需要使用以下函數。

HWND GetDesktopListViewHandle(void){ HWND hResult;

hResult=::FindWindow("ProgMan ",NULL);

hResult=::GetWindow(hResult,GW _ CHILD);

hResult=::GetWindow(hResult,GW _ CHILD);

返回hResult}

void align icon(int n rect width)//n rect width是每個圖標所占區域的大小。系統為75 { HWND hDesktop

int h,I,j,nDesktopWidth,nDesktopHeightRECT RC;hDesktop = GetDesktopListViewHandle();

* system parameters info(SPI _ getwork area,0 & amp;rc,0);

nDesktopWidth = RC . right-RC . left;

nDesktopHeight = RC . bottom-RC . top;I = 0;j = 0;//右對齊for(h = 0;hndesktop height){ I = 0;j++;}SendMessage(hDesktop,

LVM _設置項目位置,h,

MAKELPARAM(nDesktopWidth-(j+1)* nrect width+21,I * nrect width+2));//+21和+2根據系統的位置進行修改。

i++;}

如果想了解更多,進入MSDN LVM _ SETTEXTCOLOR看看吧。有很多好東西。

  • 上一篇:如何編寫應用程序
  • 下一篇:vb中的single是什麽意思
  • copyright 2024編程學習大全網