蓝袍道士 发表于 2012-3-3 14:57:10

如何检测和操作托盘中的宽带连接图标?

有些情况需要知道宽带连接是不是还正常连接,长时间多次的通过pin某网站的方式检测不理想,容易误判断不准确。
现在要想通过检查宽带连接的托盘图标的状态来达到目的(连接时图标存在,断开时图标消失)。另外需要打开宽带连接的窗口,获取宽带连接时间便于判断处理。
现在难以解决的问题是,宽带连接没有进程可查,用相关函数也检测不到宽带的托盘图标窗口标题。所以没法操作。
在此希望高手指点指点,这问题该如何解决?

nmgwddj 发表于 2012-3-3 15:07:55

rasdial.exe
回显截取返回值,已连接就是正常。没其他想法。

my788522 发表于 2012-3-3 15:12:55

#include <Process.au3>
#include <systray.au3>

$count = _SysTrayIconCount()
For $i = 1 To $count
        $info = _SysTrayIconTooltip($i)
        MsgBox(0, "", $info)
Next

蓝袍道士 发表于 2012-3-3 15:50:19

不中啊,这段代码 运行出错
"D:\au3.39\UserInclude\systray.au3"(38,36) : error: $PROCESS_ALL_ACCESS 上一次定义为一个 'Const' 变量..
Const $PROCESS_ALL_ACCESS = 2035711
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
Z:\批量运行\新建虚拟机相关设置\托盘图标显示.au3 - 1 错误, 0 警告

nmgwddj 发表于 2012-3-3 16:15:38

回复 4# 蓝袍道士


    ProcessConstants.au3 第 24 行与 SysTray.au3 第38行声明常量冲突,已经定义的常量是无法修改其值,不能出现重复声明的

蓝袍道士 发表于 2012-3-3 16:31:35

这情况是用户定义函数有问题,还是那段代码有问题?
希望有个能运行的代码。

zldfsz 发表于 2012-3-3 16:58:18

我的也不能运行

fuldho 发表于 2012-3-3 17:04:39

楼主要的是不是这个
      
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'))

蓝袍道士 发表于 2012-3-3 17:13:23

回复 8# fuldho

应该不是这个意思,宽带拨号完成后,rasdial进程会消失。我是需要监视宽带连接状态,大约10秒左右返回一次状态。

my788522 发表于 2012-3-3 17:20:57

#include <systray.au3>

$count = _SysTrayIconCount()
For $i = 1 To $count
        $info = _SysTrayIconTooltip($i)
        MsgBox(0, "", $info)
Next


用这个试试看 去掉了另一个
这个是获取系统托盘图标上的显示文字的
只要是有字都可以显示
xp测试OK

蓝袍道士 发表于 2012-3-3 18:18:19

回复 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()
你用的是什么版本呢,麻烦告诉一下。

pusofalse 发表于 2012-3-3 19:01:21

连接状态中托盘有图标,这不是绝对的。rasapi32.RasEnumConnections枚举所有连接,rasapi32.RasGetConnectionStatistics获取统计数据。

蓝袍道士 发表于 2012-3-3 19:18:59

回复 12# pusofalse

哥啊,这二句怎么用啊,百度了半天也不知道。用bat也没用。求你给个au3的调用代码!

蓝袍道士 发表于 2012-3-4 10:20:09

这问题没得解么?帖子沉下去了,再项一次。

syhw2222 发表于 2012-3-4 13:23:50

我帮你顶一下帖子
页: [1]
查看完整版本: 如何检测和操作托盘中的宽带连接图标?