修改托盘图标设置后如何立即生效?

happy_sea 2008-08-28 02:26:42
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&也不行,哪位朋友知道是怎么回事啊?
...全文
352 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
happy_sea 2008-09-19
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20080903/12/19c59e71-385c-4f61-916d-0d5020d8ccbf.html
上面这个贴子是我发的,问题已经用其他方法解决了,我自己现在已经无法回复那个贴子了,大家去接分吧,别浪费了,先到先得哦!
happy_sea 2008-09-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 Modest 的回复:]
把你代码贴上来,让大家帮你继续研究。
[/Quote]

代码主要就是我的问题中的那几句,修改注册表已经搞定了,只是如何才能达到立即反应修改结果的效果呢,老魏给看看吧。。。
happy_sea 2008-09-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 suiyunonghen 的回复:]
NotifyIconData函数吧
[/Quote]

谢谢,NotifyIconData好像是一个结构而不是函数,而且也无法解决这个问题。
迈克揉索芙特 2008-09-17
  • 打赏
  • 举报
回复
把你代码贴上来,让大家帮你继续研究。
xiaoyungua 2008-09-15
  • 打赏
  • 举报
回复
加油加油,一定能成功,(*^__^*) 嘻嘻……
happy_sea 2008-09-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 youyouting 的回复:]
如果你还没有解决刷新的问题,可以试试,用程序将explorer.exe进程关闭后,又再启动一下,看托盘中图标是否能够刷新如你所愿。
[/Quote]

这样肯定行的,可是我不想用这个方法,因为把explorer.exe关闭再重新运行的这个过程中屏幕反应太大了。
happy_sea 2008-09-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 PctGL 的回复:]
试试用广播消息把你截取到的东西发过去
[/Quote]

我的思路也是这样的(见2楼),也许是我拦截的消息不对,也许是发送的目标不对,也许是发送消息的方法不对,总之是没有成功。
不得闲 2008-09-15
  • 打赏
  • 举报
回复
NotifyIconData函数吧
youyouting 2008-09-14
  • 打赏
  • 举报
回复
如果你还没有解决刷新的问题,可以试试,用程序将explorer.exe进程关闭后,又再启动一下,看托盘中图标是否能够刷新如你所愿。
PctGL 2008-09-06
  • 打赏
  • 举报
回复
试试用广播消息把你截取到的东西发过去
happy_sea 2008-08-29
  • 打赏
  • 举报
回复
看来是没有希望了,哪位版主看到这个帖子麻烦给删了吧。。。
happy_sea 2008-08-29
  • 打赏
  • 举报
回复
加100分 & 自己顶!
happy_sea 2008-08-28
  • 打赏
  • 举报
回复
我用spy++监控了一下,发现在系统中修改“隐藏不活动的图标”选项时,rundll32.exe进程发送了4条WM_SETTINGCHANGE消息,但是我用VB模拟这4条消息,同样的目标句柄,同样的消息和参数,却没有达到同样的效果,有点奇怪。
happy_sea 2008-08-28
  • 打赏
  • 举报
回复
自己顶!
http://www.mympc.org 输入法设置工具 IME TOOL 2.6.5 声明:IMETool 为免费软件,非商业使用无须授权,但不得对软件本身做任何修改。允许个人开发的免费输入法软件将其加入安装包使用,但安装包内不得包含有广告插件或流氓软件。 IME TOOL 支持中英文界面,适用于 Win98/ME/2000/XP/2003 操作系统。 主要功能: 一、动态调整输入法顺序而无须重启。 二、切换输入法指示器和高级文字服务方式。 三、任意设置输入法热键 Windows 本身的输入法热键设置功能限制很多,2000/XP 下更是如此,你不得不设置 ctrl+shift+3 这样的三键热键。IME Tool 让你可以自由地设置各种热键,基本键(ctrl、alt、shift)共有六种组合,辅助键有 91 个可选,如用左 Alt+左 Window 键激活龙文五笔,shift+down 激活紫光拼音。当然,有些热键组合是不能用的,如 shift+数字字母键。 四、注册表错误项目修正 1、自动删除输入法列表中不存在的输入法项目,位置: HKEY_CURRENT_USER\Keyboard Layout\preload 2、检查注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts 下的内容,如果某分支对应的输入法文件不存在,则删除此分支(需要管理员权限)。 3、自动删除输入法从列表中删除后可能遗留的激活热键设置,位置: HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys 五、输入法键盘定义功 能,适用于非英文键盘(需要管理员权限)。 六、安装删除输入法 IME TOOL 可以安装标准格式的输入法。自行复制 ime 和 mb 文件到系统目录中,然后使用 imetool 的安装输入法功能指定输入法名称和 ime 文件即可。 IME TOOL 可以从注册表中删除不需要的输入法,但并不删除文件。 七、其它功能 打开输入法属性、打开关闭输入法状态条等。支持命令行参数,支持运行脚本。 另外修正了老版本存在的一些小 bug。 局限: 1、在 Win9x 下设置的输入法热键不能立即生效,必须重启。在 Win95/NT 系统下有更多的功能限制。 注意: 1、用 IME Tool 设置的一些热键在 Windows 本身的输入法设置中会无法正确显示,但不影响使用。 2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表中的位置不同,因条件所限我没有做进一步测试功能是否有效。 3、在 IME Tool 中刚添加的输入法不能立即设置属性。 4、如果使用输入法指示器方式时,在系统目录下未发现 internat.exe 和 indicdll.dll 文件,将会自动复制当前目录下的此二文件过去(如果存在)。 命令行参数说明: /? /h /help 显示此帮助 /internat 输入法指示器风格 /ctfmon 高级文字服务风格 /status: : 关闭输入法状态条 : 显示输入法状态条 /caps 用 Caps 键关闭大写 /shift 用 Shift 键关闭大写 /switch: : 不使用切换语言和切换键盘布局热键 : 仅使用切换语言热键 : 仅使用切换键盘布局热键 : 同时使用切换语言和切换键盘布局热键 : 切换语言热键使用Ctrl+Shift : 切换键盘布局热键使用Ctrl+Shift /hotkey:,[hotkey] 指定输入法热键 ,指定第1、2、3.. 个输入法的热键 指定打开/关闭输入法的热键 指定全角/半角切换的热键 指定中英文标点切换的热键 如果留空则删除热键 [hotkey] 热键值,如:ctrl+space /add1:,[hotkey] 按名称添加输入法到列表 /add2:,[hotkey] 按文件名添加输入法到列表 /add3:,[hotkey] 按 ID 添加输入法到列表 /del1: 按顺序从列表中删除输入法 /del2: 按名称从列表中删除输入法 /del3: 按文件名从列表中删除输入法 /del4: 按 ID 从列表中删除输入法 /install:[name],,[hotkey] 安装输入法 /uninstall1: 按名称从注册表删除输入法 /uninstal

1,487

社区成员

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

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