找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1292|回复: 2

[已回复] 局域网通断问题求助

[复制链接]

10

主题

17

回帖

27

积分

学前班

鲜花
0
猫粮
86
发表于 2022-5-2 16:40:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 youaremysky 于 2022-5-2 16:41 编辑

pc按键,如果读写了一个不通的局域网就会导致脚本卡断很久,所以我就想到了用ping ip来判断局域网是否通畅,但是我又不想那个黑框出来,就开了个线程关黑框,但是实际应用起来,有时候电脑卡顿,他会导致隐藏黑框很慢,甚至直接闪退.求助有没有别的办法.或者怎么让cmd的界面直接不要打开隐藏起来?
[按键精灵] 纯文本查看 复制代码
call BeginThread(隐藏cmd窗口)
RunApp "cmd.exe /c ping 192.168.31.13 >c:\局域网1.txt"
RunApp "cmd.exe /c ping 192.168.12.13 >c:\局域网2.txt"
Call BeginThread(读取局域网文件)

Sub 隐藏cmd窗口
    For 40
        Delay 50
        HwndEx = Plugin.Window.SearchEx("ConsoleWindowClass", 0, 0)
        If len(hwndex) > 2 Then //检测到cmd的窗口就隐藏它
            For i = 0 To UBound(split(HwndEx, "|"))
                If len(split(HwndEx, "|")(i)) > 2 Then 
                    Call Plugin.Window.hide(split(HwndEx, "|")(i))                
                End If
            Next
        End If
    next
End Sub

Sub 读取局域网文件
    For 5
        局域网1 = Plugin.File.ReadFileEx("c:\局域网1.txt")
        局域网2 = Plugin.File.ReadFileEx("c:\局域网2.txt")
        If instr(局域网1, "的回复") > 0 Then 
            TracePrint "局域网1通畅"
            Exit for
        End If
        If instr(局域网2, "的回复") > 0 Then 
            TracePrint "局域网2通畅"
            Exit for
        End If
        Delay 1000
    next
End Sub

楼主热帖

10

主题

17

回帖

27

积分

学前班

鲜花
0
猫粮
86
 楼主| 发表于 2022-5-2 22:00:36 | 显示全部楼层
解决了
Set ws = CreateObject("Wscript.Shell")
ws.Run "cmd.exe /c ping 192.168.12.39 >C:\juyuwang2.txt", 0
ws.Run "cmd.exe /c ping 192.168.31.13 >C:\juyuwang1.txt",0
然后读取文档就行了...

0

主题

15

回帖

15

积分

学前班

鲜花
0
猫粮
83
发表于 2022-9-9 20:24:16 | 显示全部楼层
厉害啊  自学成才
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学园

GMT+8, 2024-11-23 17:50

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表