HWND hTray = FindWindow(TEXT( "Shell_TrayWnd "), NULL);
if(hTray == NULL)
break;
hTray = FindWindowEx(hTray, NULL, TEXT( "TrayNotifyWnd "), NULL);
if(hTray == NULL)
break;
hTray = FindWindowEx(hTray, NULL, TEXT( "SysPager "), NULL);
if(hTray == NULL)
break;
hTray = FindWindowEx(hTray, NULL, TEXT( "ToolbarWindow32 "), NULL);
if(hTray == NULL)
break;
iNum = SendMessage(hTray, TB_BUTTONCOUNT, NULL, NULL); //获取任务栏上图标个数
for (i = 0; i < iNum; i++)
SendMessage(hTray, TB_HIDEBUTTON, i, TRUE); \
我用这个办法可以隐藏图标,但是留下了一片空白,只有在再次加入或删除图标后才能正常,查以前的帖子,发现有人说
try SendMessage(HWND_BROADCAST,WM_SETTINGCHANGE, 0, "Environment ") etc.
可以解决问题,但是我使用后没有效果,不知道是使用方法的问题还是别的原因,我是2000系统,如果可以的话,详细一点.p.s:折衷的办法是NOTIFYICONDATA nid2;
nid2.cbSize = sizeof(NOTIFYICONDATA);
nid2.hWnd = this->m_hWnd;
nid2.uID = IDR_MAINFRAME+1;
strcpy(nid2.szTip, "update"); //提示
Shell_NotifyIcon(NIM_ADD, &nid2);
Shell_NotifyIcon(NIM_DELETE, &nid2);
但我总觉得应该有更正确的办法.
if(hTray == NULL)
break;
hTray = FindWindowEx(hTray, NULL, TEXT( "TrayNotifyWnd "), NULL);
if(hTray == NULL)
break;
hTray = FindWindowEx(hTray, NULL, TEXT( "SysPager "), NULL);
if(hTray == NULL)
break;
hTray = FindWindowEx(hTray, NULL, TEXT( "ToolbarWindow32 "), NULL);
if(hTray == NULL)
break;
iNum = SendMessage(hTray, TB_BUTTONCOUNT, NULL, NULL); //获取任务栏上图标个数
for (i = 0; i < iNum; i++)
SendMessage(hTray, TB_HIDEBUTTON, i, TRUE); \
我用这个办法可以隐藏图标,但是留下了一片空白,只有在再次加入或删除图标后才能正常,查以前的帖子,发现有人说
try SendMessage(HWND_BROADCAST,WM_SETTINGCHANGE, 0, "Environment ") etc.
可以解决问题,但是我使用后没有效果,不知道是使用方法的问题还是别的原因,我是2000系统,如果可以的话,详细一点.p.s:折衷的办法是NOTIFYICONDATA nid2;
nid2.cbSize = sizeof(NOTIFYICONDATA);
nid2.hWnd = this->m_hWnd;
nid2.uID = IDR_MAINFRAME+1;
strcpy(nid2.szTip, "update"); //提示
Shell_NotifyIcon(NIM_ADD, &nid2);
Shell_NotifyIcon(NIM_DELETE, &nid2);
但我总觉得应该有更正确的办法.
::SendMessage(HWND_BROADCAST,WM_SETTINGCHANGE,0,0);
我试过才给你说的
你原来得最后一个参数是"Environment",我测试过的,最后一个参数是0
你原来得最后一个参数是"Environment",我在我的xp系统测试过的,没有效果
我发的这个,最后一个参数是0,我在我的xp系统测试过的,是可以的