[VC++]如何得到桌面窗口的句柄(桌面图标)

如何得到桌面窗口的句柄呢?????楼主jzyhummel(篱影)2001-07-08 18:55:12 在 VC/MFC / 基础类 提问
我想得到WINDOW桌面句柄,来对桌面图标进行操作,不知道如何得到呢??用什么涵数呢?我试了试用::GetDesktopWindow()来得到句柄不知道对了没有。假如我想改变桌面的字体的颜色该怎么做呢??  
    
  不知道有没有VC资料????我手上只有delphi的程序  
  各位有什么高见,可以说说吗?  
    
  给个网址也行,或是发maile给我:jzyhummel@163.net  
    
  
问题点数:20、回复次数:5
Top

1 楼azuo_lee(宿醉)回复于 2001-07-08 19:38:53 得分 5GetDestopWindow取到的是桌面窗口的句柄,但不是我们所看到的那个包含图标的窗口。包含图标的窗口实际上是DesktopWindow的一个字窗口。确切地讲,Desktop   Window包含一个无标题的、类名为“SHELLDLL_DefView”的子窗口,这个字窗口又包含一个无标题的、类名为“SysListView32”的子窗口——这才是那个真正包含桌面图标的窗口。
Top
2 楼savegod(上帝可能还存在)回复于 2001-07-08 19:41:10 得分 0 HWND_DESKTOP就是桌面窗口句柄了。
Top
3 楼jzyhummel(篱影)回复于 2001-07-09 13:10:31 得分 0 谢谢回复  
  我想用桌面窗口句柄,操作桌面图标(比如改颜色,右对齐。。。),有人能告诉我这方面的资料吗?昨天写了个spy,看看类名还真是SysListView32,ID为1。谢谢azuo_lee()。  
    
  有资料的可以给我个网址吗?  
  有现成的程序可以给我发一个吗?jzyhummel@163.net  
  
Top
4 楼suprer(爱完美的人)回复于 2001-07-09 16:25:09 得分 15真巧,我也在研究这个东西,大家SHARE一下。  
  操作桌面图标,要使用到以下函数,  
  HWND   GetDesktopListViewHandle(void)  
  {  
  HWND   hResult;  
  hResult=::FindWindow("ProgMan",NULL);  
  hResult=::GetWindow(hResult,GW_CHILD);  
  hResult=::GetWindow(hResult,GW_CHILD);  
  return   hResult;  
  }  
    
  void   AlignIcon(int   nRectWidth)//nRectWidth是每个图标占用的区域大小系统为75  
  {  
  HWND   hDesktop;  
  int   h,i,j,nDesktopWidth,   nDesktopHeight;  
  RECT   rc;  
  hDesktop=GetDesktopListViewHandle();  
  ::SystemParametersInfo(SPI_GETWORKAREA,0,&rc,0);  
  nDesktopWidth=rc.right-rc.left;  
  nDesktopHeight=rc.bottom-rc.top;  
  i=0;  
  j=0;  
  //右对齐  
  for(h=0;h<ListView_GetItemCount(hDesktop);h++)  
  {  
  if((i+1)*nRectWidth>nDesktopHeight)  
  {  
  i=0;  
  j++;  
  }  
  SendMessage(hDesktop,  
  LVM_SETITEMPOSITION,  
  h,  
  MAKELPARAM(nDesktopWidth-(j+1)*nRectWidth+21,i*nRectWidth+2));//+21   和 +2是对照系统的位置修改的,  
  i++;  
  }  
    
  想知道更多的话就在MSDN中输入LVM_SETTEXTCOLOR去看一看。有许多好东西。
Top
5 楼jzyhummel(篱影)回复于 2001-07-09 18:19:48 得分 0 哈哈。。。。。怎么说的话都和书上的一样啊(《电脑爱好者》九月号的),不会你就是作者吧,  
  不过很感谢你的帮助。  
  来。。。。。加分吧。
原文地址:https://www.cnblogs.com/boneking/p/1337799.html