my52091 发表于 2013-2-18 16:25:59

如何隐藏迅雷开放下载引擎的托盘图标【已解决】

本帖最后由 my52091 于 2013-2-21 11:07 编辑



迅雷开放下载引擎在调用时会在托盘上显示出来,不小心点了下就会自动下载并安装迅雷7,很恶心的做。

请问各位大大,如何隐藏迅雷开放下载引擎的托盘图标。附件包含AU3调用的例子,大家可以试试,因为没有迅雷开放下载引擎进程,所以不好隐藏。

happytc 发表于 2013-2-18 17:53:21

不错,记得我曾写了迅雷开放引擎au3的例子,有人发扬光大呀
非常好的事。

#include <Memory.au3>

TrayIconToggle(0)

Func TrayIconToggle($iToggle)
        Local Const $tag = "int Bitmap;int Command;byte State;byte Style;align;dword_ptr Param;int_ptr String"
        Local $hTray, $hToolbar, $iCount, $sText, $iCmd       
        Local $tButton, $iBuffer, $iSize, $tMemMap, $pMemMap
        $hTray = WinGetHandle("")
        $hToolbar = ControlGetHandle($hTray, "", "")
        $iCount = _SendMessage($hToolbar, 1048)
        For $i = 0 To $iCount - 1
                $tButton = DllStructCreate($tag)
                $iSize = DllStructGetSize($tButton)
                $pMemMap = _MemInit($hToolbar, $iSize, $tMemMap)
                _MemWrite($tMemMap, $tButton, $pMemMap, $iSize)
                _SendMessage($hToolbar, 1047, $i, $pMemMap, 0, "wparam", "ptr")
                _MemRead($tMemMap, $pMemMap, $tButton, $iSize)
                _MemFree($tMemMap)
                $iCmd = DllStructGetData($tButton, "Command")
                $iBuffer = (_SendMessage($hToolbar, 1099, $iCmd) + 1) * 2
                $tBuffer = DllStructCreate("wchar Text[" & $iBuffer & "]")
                $pMemMap = _MemInit($hToolbar, $iBuffer, $tMemMap)
                _SendMessage($hToolbar, 1099, $iCmd, $pMemMap, 0, "wparam", "ptr")
                _MemRead($tMemMap, $pMemMap, $tBuffer, $iBuffer)
                _MemFree($tMemMap)
                $sText =DllStructGetData($tBuffer, "Text")
                If StringInStr($sText, "迅雷下载开放引擎") Then ExitLoop
        Next       
        If $iToggle Then
                _SendMessage($hToolbar, 1041, $iCmd, 8)
        Else
                _SendMessage($hToolbar, 1041, $iCmd, 4)
        EndIf
EndFunc

my52091 发表于 2013-2-19 13:36:52

好方法,不过在下载完成后,迅雷的图标又出来的。

@happytc大大,可以将你的代码注释一下吗?帮助文档里找不到函数的解释,看起过表示压力大

my52091 发表于 2013-2-19 13:37:44

好方法,不过在下载完成后,迅雷的图标又出来的。

@happytc大大,可以将你的代码注释一下吗?帮助文档里找不到函数的解释,看起过表示压力大

happytc 发表于 2013-2-19 20:52:53

回复 4# my52091


    主要是学习微软的msdn上文档,属于Windows编程基础知识部分,基本跟au3没有关系。其实主要就是给控件发消息,让它返回需要的。托盘栏,也就是个工具栏了,不过是系统内建的工具栏而已。

如果基础有了,不写注释,也明白;若没有基础,写了注释,基本也是白写!

lxwlxwayy 发表于 2013-2-19 21:17:05

学习了,真的想好好学习了

archangle 发表于 2013-2-21 10:21:53

学习了~~~~~

gyc990326 发表于 2013-2-25 13:11:06

好好学习一下

zldfsz 发表于 2013-4-8 21:35:21

回复 2# happytc


    隐藏后会出现空白区域,会觉得有点怪怪的

茫然 发表于 2013-5-6 23:19:32

win7 64 下 只会把排在最后的一个图标隐藏掉。而隐藏不掉到指定的图标。

bin123485 发表于 2014-8-12 19:33:39

好好学习一下

baby666 发表于 2015-6-25 11:14:03

{:face (229):}

wangms 发表于 2015-7-13 12:34:38

翻贴学习。。。。。。。。。。

alien0925 发表于 2016-12-12 20:43:48

学习了看一看看!!!

865g 发表于 2018-3-10 10:38:39

谢谢分享,必须支持!
页: [1] 2
查看完整版本: 如何隐藏迅雷开放下载引擎的托盘图标【已解决】