在我想获取桌面(就是满是图标那个桌面)时,却搜到了GetDesktopWindow()函数。我心里很高兴 啊,原来微软这么好,这都给封装好了。后来经过比对,发现根本不对。于是去翻了一下MSDN:
Retrieves a handle to the desktop window. The desktop window covers the entire screen. The desktop window is the area on top of which other windows are painted.
这根本不是我要的那个桌面!!!!
那这个函数究竟获取的是什么??似乎把图放出来再结合上面MSDN的解释就明白了:
就是所有窗口的父窗口!!有了这个句柄,我们就可以获取到所有窗口的句柄了。
那话说回来,我们该如何获取桌面的句柄?我是这么完成的:
HWND lyp = FindWindow(L"Progman",L"Program Manager");
lyp = FindWindowEx(lyp, 0, L"SHELLDLL_DefView", NULL);
lyp = FindWindowEx(lyp, 0, L"SysListView32", L"FolderView");
printf("%0x\n", lyp);
//SendMessage(lyp, WM_CLOSE, 0, 0);
顺便说一下,最好不要执行注释里的作死语句...