sevekwl 发表于 2008-10-3 19:41:14

AU3 脚本无何对托盘图标进行操作?

如题。请注意:不是指对脚本本身的托盘图标添加菜单删除菜单等。而是对某个应用程序生成的托盘图标进行操作。
比如:判断是否存在QQ的托盘图标、双击QQ托盘图标等等。
限制:请不要使用对鼠标坐标有影响的函数,这种方式欠缺安全性。

yejier 发表于 2008-10-3 21:18:01

找找api的方法吗
也许qq还对托盘的消息封装了的,那就很困难了
期待高手来解决

sevekwl 发表于 2008-10-3 23:00:04

其实,我的目的主要是对虚拟光驱进行设置。
虚拟光驱安装后,在不重启的情况下需要手动添加一个光驱。运行deamon.exe 后,会有一个图标在托盘上。

liongodmien 发表于 2008-10-4 11:23:47

ULTRAISO好像没DEAMON烦!

sevekwl 发表于 2008-10-4 12:10:40

其实,现在讨论的问题已经不是 DEAMON 了,而是 AU3如何操作托盘的问题了。

sevekwl 发表于 2008-10-4 12:16:45

我现在的做法是这样:

        $hWnd=_FindTrayToolbarWindow()
        ;$idArry=ProcessList($fn)
        $Pos=WinGetPos($hWnd)
        ;MouseMove(0,0,0)
        ;MouseMove($Pos,$Pos,10)
        DLLCall("user32.dll","int","PostMessage", "hwnd", $hWnd, "int", 0x0205, "int",1,"int",($IconIndex+2)*18+8+$Pos*2)

首先获取托盘窗口的句柄,然后发送鼠标按键消息给这个句柄,这样鼠标实际上不会动,而托盘窗口会接收到一个按键的消息。
但是,问题又来了,我不知道鼠标按键消息的格式,以及托盘窗口计算坐标的方法。

lcgkogoo 发表于 2009-1-11 01:45:24

:face (1): :face (1): :face (1): :face (1):
用工具计算咯.
页: [1]
查看完整版本: AU3 脚本无何对托盘图标进行操作?