如何检测和操作托盘中的宽带连接图标?
有些情况需要知道宽带连接是不是还正常连接,长时间多次的通过pin某网站的方式检测不理想,容易误判断不准确。现在要想通过检查宽带连接的托盘图标的状态来达到目的(连接时图标存在,断开时图标消失)。另外需要打开宽带连接的窗口,获取宽带连接时间便于判断处理。
现在难以解决的问题是,宽带连接没有进程可查,用相关函数也检测不到宽带的托盘图标窗口标题。所以没法操作。
在此希望高手指点指点,这问题该如何解决? rasdial.exe
回显截取返回值,已连接就是正常。没其他想法。 #include <Process.au3>
#include <systray.au3>
$count = _SysTrayIconCount()
For $i = 1 To $count
$info = _SysTrayIconTooltip($i)
MsgBox(0, "", $info)
Next 不中啊,这段代码 运行出错
"D:\au3.39\UserInclude\systray.au3"(38,36) : error: $PROCESS_ALL_ACCESS 上一次定义为一个 'Const' 变量..
Const $PROCESS_ALL_ACCESS = 2035711
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
Z:\批量运行\新建虚拟机相关设置\托盘图标显示.au3 - 1 错误, 0 警告 回复 4# 蓝袍道士
ProcessConstants.au3 第 24 行与 SysTray.au3 第38行声明常量冲突,已经定义的常量是无法修改其值,不能出现重复声明的 这情况是用户定义函数有问题,还是那段代码有问题?
希望有个能运行的代码。 我的也不能运行 楼主要的是不是这个
afan大的
Local $iPid = Run('rasdial', '', 0, 2), $Stdout
While 1
Sleep(1)
$Stdout &= StdoutRead($iPid)
If @error Then ExitLoop
WEnd
MsgBox(0, 0, StringRegExpReplace($Stdout, '(?s)(.+?\n).+', '$1')) 回复 8# fuldho
应该不是这个意思,宽带拨号完成后,rasdial进程会消失。我是需要监视宽带连接状态,大约10秒左右返回一次状态。 #include <systray.au3>
$count = _SysTrayIconCount()
For $i = 1 To $count
$info = _SysTrayIconTooltip($i)
MsgBox(0, "", $info)
Next
用这个试试看 去掉了另一个
这个是获取系统托盘图标上的显示文字的
只要是有字都可以显示
xp测试OK 回复 10# my788522
你这代码很奇怪啊,在我的电脑上一运行就出问题。
AppName: autoit3.exe AppVer: 3.3.7.2 ModName: user32.dll
ModVer: 5.1.2600.5512 Offset: 000086fb
我用的是最新版au3 3.3.9
在帮助文件中也找不到对应的函数。如 _SysTrayIconCount()
你用的是什么版本呢,麻烦告诉一下。 连接状态中托盘有图标,这不是绝对的。rasapi32.RasEnumConnections枚举所有连接,rasapi32.RasGetConnectionStatistics获取统计数据。 回复 12# pusofalse
哥啊,这二句怎么用啊,百度了半天也不知道。用bat也没用。求你给个au3的调用代码! 这问题没得解么?帖子沉下去了,再项一次。 我帮你顶一下帖子
页:
[1]