[已解决]点击托盘图标同时弹出托盘右键的问题
本帖最后由 半芯蕃茄 于 2011-12-14 21:01 编辑#NoTrayIcon
#Include <GuiToolBar.au3>
_SysTray_ClickItem("酷狗", "right", 1)
;====================================================================================
;Autor(s): R.Gilman (a.k.a rasim); Siao (Thanks for idea )
;====================================================================================
Func _SysTray_ClickItem($iTitle, $iButton = "left", $iClick = 1)
Local $hToolbar, $iButCount, $aRect, $i
If Not $iTitle Then
MsgBox(16, "Error", "Please indicate title")
Return 0
EndIf
$hToolbar = ControlGetHandle('', '', '')
If @error Then
MsgBox(16, "Error", "System tray not found")
Return 0
EndIf
$iButCount = _GUICtrlToolbar_ButtonCount($hToolbar)
If $iButCount = 0 Then
MsgBox(16, "Error", "Not found item in system tray")
Return
EndIf
For $i = 0 To $iButCount - 1
$cID = _GUICtrlToolbar_IndexToCommand($hToolBar, $i)
If StringInStr(_GUICtrlToolbar_GetButtonText($hToolBar, $i), $iTitle) Then
$aRect = _GUICtrlToolbar_GetButtonRect($hToolBar, $i)
ControlClick("", "", "ToolbarWindow321", $iButton, $iClick, $aRect, 5)
$aRect = 0
Return 1
EndIf
Next
MsgBox(48, "Fail", "Required item not found")
EndFunc
以上代码是右键点击酷狗的托盘图标,但是很奇怪的是连托盘空白处的右键也弹了出来。求解决方法,不想弹出如图弹出的:
同问,我用AUTOIT3汉化版的那个托盘菜单,也会出现这样的情况,既弹出托盘程序的菜单,也会出现XP系统带的任务栏的右键菜单.. 本帖最后由 lixiaolong 于 2011-12-14 19:54 编辑
回复 1# 半芯蕃茄
把56行改成这样试一下.
ControlClick("", "", "ToolbarWindow321", $iButton, $iClick, $aRect + 5, 5)
给你一个代码,这个比较准.#include "SysTray_UDF.au3"
Opt("WinTitleMatchMode", 4)
Opt("WinSearchChildren", 1)
_SysTray_ClickItem("kugou7.exe", "right")
Func _SysTray_ClickItem($iTitle, $iButton = "left", $iClick = 1)
Local $k_pos = MouseGetPos()
Local $posTray = WinGetPos(_FindTrayToolbarWindow())
Local $index = _SysTrayIconIndex($iTitle)
If $index <> -1 Then
Local $pos = _SysTrayIconPos($index)
If $pos = -1 Then
$pos = _SysTrayIconPos($index)
If $pos = -1 Then Exit
EndIf
MouseMove($pos, $pos, 0)
Sleep(100)
MouseClick("right")
MouseMove($k_pos, $k_pos, 0)
EndIf
EndFunc ;==>_SysTray_ClickItem 回复 3# lixiaolong
非常感谢,确实比较准确。。 测试xiaolong 的代码,,效果很好,,
感谢 谢谢分享,留个脚印。 我用xiaolong的代码!出现图所示“求解答 回复 7# michealwang
打不开【SysTray_UDF.au3】文件.
下载新版本里有这个文件.
http://www.autoitx.com/thread-12964-1-1.html
或者把第一行改成这样试试.
#include <SysTray_UDF.au3> 我下载了最新的版本,也试着把第一行改成“#include <SysTray_UDF.au3>”还是出现同样的错误啊 回复 9# michealwang
发给你吧.
再次感谢“lixiaolong ”的源码!真的很感谢“lixiaolong ”大大,你是那么的热情!
我现在阐述一下我要实现的目的:
PUBWIN2009的客户机“请求挂机”功能是:一旦你挂了机,就算是重启了还是挂机的!而其他的挂机锁不能实现!
而PUBWIN2009的“请求挂机”是在最右下角。如图:我想把它创建成桌面快捷方式!
感谢分享,学习啦~
页:
[1]