分享

我们究竟该如何获取桌面句柄???

 nxhujiee 2016-04-12

  在我想获取桌面(就是满是图标那个桌面)时,却搜到了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的解释就明白了:

 

  就是所有窗口的父窗口!!有了这个句柄,我们就可以获取到所有窗口的句柄了。

  那话说回来,我们该如何获取桌面的句柄?我是这么完成的:

 

  1. HWND lyp = FindWindow(L"Progman",L"Program Manager");  
  2.     lyp = FindWindowEx(lyp, 0, L"SHELLDLL_DefView", NULL);  
  3.     lyp = FindWindowEx(lyp, 0, L"SysListView32", L"FolderView");  
  4.     printf("%0x\n", lyp);  
  5.     //SendMessage(lyp, WM_CLOSE, 0, 0);  

  顺便说一下,最好不要执行注释里的作死语句...

  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多