XP系统的托盘有个“隐藏不活动的图标”选项,我用regsnap看了一下,修改这个选项时对应注册表中HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer键下的EnableAutoTray值,但是用VB修改这个DWORD值后,是否隐藏不活动图标的效果并不会立即生效,而在设置“任务栏和开始菜单”中修改这个选项并点击应用按钮以后却会马上生效,看来需要向任务栏托盘发送消息来通知它作出响应,但是我试了SendMessage HWND_BRODCAST, WM_SETTINGCHANGE, 0&, 0&没有效果,用
hwnd = FindWindow("Shell_TrayWnd", vbNullString)
hwnd = FindWindowEx(hwnd, 0, "TrayNotifyWnd", vbNullString)
hwnd = FindWindowEx(hwnd, 0, "SysPager", vbNullString)
hwnd = FindWindowEx(hwnd, 0, "ToolbarWindow32", vbNullString)
获取句柄后,SendMessage hwnd, WM_SETTINGCHANGE, 0&, 0&也不行,哪位朋友知道是怎么回事啊?
hwnd = FindWindow("Shell_TrayWnd", vbNullString)
hwnd = FindWindowEx(hwnd, 0, "TrayNotifyWnd", vbNullString)
hwnd = FindWindowEx(hwnd, 0, "SysPager", vbNullString)
hwnd = FindWindowEx(hwnd, 0, "ToolbarWindow32", vbNullString)
获取句柄后,SendMessage hwnd, WM_SETTINGCHANGE, 0&, 0&也不行,哪位朋友知道是怎么回事啊?
这样肯定行的,可是我不想用这个方法,因为把explorer.exe关闭再重新运行的这个过程中屏幕反应太大了。
谢谢,NotifyIconData好像是一个结构而不是函数,而且也无法解决这个问题。
上面这个贴子是我发的,问题已经用其他方法解决了,我自己现在已经无法回复那个贴子了,大家去接分吧,别浪费了,先到先得哦!