如何获取或隐藏桌面上的图标?

creakmud 2003-11-10 12:06:46
如题
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
creakmud 2003-11-17
  • 打赏
  • 举报
回复
怎么隐藏指定的图标呢?(桌面上的快捷方式、文件夹或者目录
kof99th 2003-11-17
  • 打赏
  • 举报
回复
桌面实际上是一个listview,找到这个窗口的handle,把图标一个个删除就是了,用spy++
carbon107 2003-11-17
  • 打赏
  • 举报
回复
我想应这样,你应换取你要的桌面文件的HANDLE
用findwindow(null, "程序名")
然后通过这个句柄来读取与设定你要的功能
MilitaryMiniatures 2003-11-10
  • 打赏
  • 举报
回复
1,桌面是一个虚拟的文件夹,包含两种内容:其一,子文件夹(包括真是目录和虚拟文件夹);其二,文件(可以是普通的文件或者快捷方式);
2,首先得到桌面文件夹:SHGetDesktopFolder will works:
HRESULT SHGetDesktopFolder(
IShellFolder **ppshf
);

3,利用IShellFolder::EnumObjects可以列举出该文件夹下面的所有文件夹以及文件;
HRESULT EnumObjects(
HWND hwnd,
SHCONTF grfFlags,
IENUMIDLIST **ppenumIDList
);
4,利用Shell的相应函数,得到他们的图标。SHGetFileInfo
DWORD_PTR SHGetFileInfo(
LPCTSTR pszPath,
DWORD dwFileAttributes,
SHFILEINFO *psfi,
UINT cbFileInfo,
UINT uFlags
);

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧