重金裸奔求教XP下桌面图标背景透明问题

laserman 2004-03-25 02:31:55
请教,如何在XP下使桌面图标文字背景透明呀,在98和2000下用以下代码都可以解决,但在XP下却没有反应,哪位大侠知道的请指点一二。
HWND hWnd;
hWnd = GetDesktopWindow();
if ((hWnd = FindWindowEx(hWnd, 0, "Progman", "Program Manager")) == 0)
return NULL;
if ((hWnd = FindWindowEx(hWnd, 0, "SHELLDLL_DefView", NULL)) == 0)
return NULL;
if ((hWnd = FindWindowEx(hWnd, 0, "SysListView32", NULL)) == 0)
SendMessage(hWnd, 0x1026, 0, 0xffffffff); // Turn background to transparent
InvalidateRect(hWnd, NULL, TRUE); // Repaint
...全文
117 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
无敌魔仙 2004-08-06
  • 打赏
  • 举报
回复
裸奔 是没可用分了吧,
为何最近上CSDN,可用分不增加?
zhangnanonnet 2004-08-06
  • 打赏
  • 举报
回复
你裸奔干什么。
wwww2 2004-08-05
  • 打赏
  • 举报
回复
XP下使桌面图标文字背景不是本来就透明吗?
Kudeet 2004-08-05
  • 打赏
  • 举报
回复
什么时候的?
THQ 2004-08-05
  • 打赏
  • 举报
回复
好像要用到钩子!~楼主解决了吗?
THQ 2004-06-15
  • 打赏
  • 举报
回复
错了啊!~

HWND hWnd;
hWnd = GetDesktopWindow();
if ((hWnd = FindWindowEx(hWnd, 0, "Progman", "Program Manager")) == 0)
return NULL;
if ((hWnd = FindWindowEx(hWnd, 0, "SHELLDLL_DefView", NULL)) == 0)
return NULL;
if ((hWnd = FindWindowEx(hWnd, 0, "SysListView32", NULL)) == 0)
return NULL;
SendMessage(hWnd, 0x1026, 0, 0xffffffff); // Turn background to transparent
InvalidateRect(hWnd, NULL, TRUE); // Repaint

15,980

社区成员

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

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