Huiseyu 发表于 2014-12-20 15:57:10

不用If如何判断网络是否连接,并设置一个图标变量 【已解决】

本帖最后由 Huiseyu 于 2014-12-20 16:47 编辑

逛论坛能长见识,这下倒把我看出疑问来了。
http://www.autoitx.com/forum.php?mod=viewthread&tid=1574&highlight=] 点此处查看原出处 :


ToolTip(。。。。。“$图标”)
这个 $图标 能不能在不用if 的情况下也给个赋值变量
也就是说,在不用if做判断 的情况下,判断网络是否连接,如果连接展示信息图标,如果断开,则展示错误图标呢Global Const $NETWORK_ALIVE_LAN = 0x1Global Const $NETWORK_ALIVE_WAN = 0x2

$x = DllCall("sensapi.dll", "int", "IsNetworkAlive", "str", $NETWORK_ALIVE_LAN)

ToolTip($x = 1 ?"已连接网络":"检查是否开启飞行模式,或网线是否松掉,网络未能连接",@DesktopWidth/2 ,@DesktopHeight/2,"网络状态",1)
Sleep(5000)

;~ 1表示连着
;~ 0表示断开
可以多嵌套进tooltip一个图标变量么 ?


又找到好玩的了,结合了一下。呵呵 ,不过问题没有解决还是如上述蓝色部分

源地址2
源地址1


Global Const $NETWORK_ALIVE_LAN = 0x1
Global Const $NETWORK_ALIVE_WAN = 0x2

$x = DllCall("sensapi.dll", "int", "IsNetworkAlive", "str", $NETWORK_ALIVE_LAN) ; 检查网络是否连接
;~ 1表示连着
;~ 0表示断开
;查看是否连接


Local $http = 'http://www.timedate.cn/worldclock/ti.asp' ;通过获取网络时间 检查是否可以访问Internet
      Local $sData = InetRead($http, 1)
      Local $Source = BinaryToString($sData, 1)
      Local $aSR = StringRegExp($Source, 'n\w+\=(\d+)', 3)
      If @error Or UBound($aSR) < 7 Then
                Global $text = "但不能上网"
      Else
                Global $text = "已连接Internet网络"
        EndIf

        ToolTip($x = 1 ?"已连接网络 " &$text:"检查是否开启飞行模式,或网线是否松掉,网络未能连接",@DesktopWidth/2 ,@DesktopHeight/2,"网络状态",1)
Sleep(2000)
                ;查看 是否能上网

seniors 发表于 2014-12-20 16:25:14

天哪
If就是用来判断的
不用If你难道想用
Do
Until

While
WEnd

Select
EndSelect

Switch
EndSwitch

Huiseyu 发表于 2014-12-20 16:28:35

回复 2# seniors


    嗯,是的,能不能像这样,在多嵌套一个,为了那个图标能依情况而变化,已连接【信息图标】,未连接【错误图标】

ToolTip($x = 1 ?"已连接网络":"检查是否开启飞行模式,或网线是否松掉,网络未能连接",@DesktopWidth/2 ,@DesktopHeight/2,"网络状态",1)

Huiseyu 发表于 2014-12-20 16:31:05

好吧,好吧,自己顶一下,然后继续学习。今天一点也不无聊/

afan 发表于 2014-12-20 16:34:30

图标用三元也可以Global Const $NETWORK_ALIVE_LAN = 0x1, $NETWORK_ALIVE_WAN = 0x2
$x = DllCall("sensapi.dll", "int", "IsNetworkAlive", "str", $NETWORK_ALIVE_LAN)
ToolTip($x = 1 ? "已连接网络" : "检查是否开启飞行模式,或网线是否松掉,网络未能连接", @DesktopWidth / 2, @DesktopHeight / 2, "网络状态", $x = 1 ? 1 : 3)
Sleep(5000)

Huiseyu 发表于 2014-12-20 16:45:55

本帖最后由 Huiseyu 于 2014-12-20 16:55 编辑

回复 5# afan


    哦对对,就是这样,之前看过的都忘了,因为没有目的,只是爱玩。

Global Const $NETWORK_ALIVE_LAN = 0x1 ....完全不懂,为什么这个0x1是可以省略? 这个问了就不问了,要消化一下。
页: [1]
查看完整版本: 不用If如何判断网络是否连接,并设置一个图标变量 【已解决】