VBA 实现刷网络,非暴力不合作,对抗ISP耍流氓之一

     office 系列办公套件,均内含VBA功能,使用它可以完成很多工作,如果配合API使用,它将无所不能。

    使用VBA完成工作,你可以完全不用担心木马、病毒,你完全掌控程序的运行,不需要部署开发环境,不需要编译代码。它是解释执行的,效率有点低。

    使用本程序刷网络,占用CPU较高,刷满带宽比较难。但刷网络,缩短网络响应已经足够了!

打开任一office办公应用软件,以execl为例,其它类似

按下组合键ALT+F11(按下alt,不要放开,再按下F11),打开VBA开发环境

插入一个模块

插入后的状态

复制源码到光标处

Private Declare Function timeGetTime Lib "winmm.dll" () As Long
'/*检测oHTML是否初始化*/
Private Declare Function SafeArrayGetDim Lib "oleaut32.dll" (ByRef saArray() As Any) As Long
Private Const MAX_PACKS = 10 '/*每次发包数*/
Private Const MIN_TIME = 100 '/*时间间隔,毫秒数*/
Dim oHTML() As Object
Public Sub 刷网络()
    Dim iI As Long, iJ As Long
    Dim iWait As Long, iSleep As Long
   '/*要刷的网址,可以任意定义*/
    Dim sUrl(8) As String
    sUrl(0) = "https://wjjhyf.eu5.org"
    sUrl(1) = "https://yandex.com/search/?text=wjjhyf.eu5.org"
    sUrl(2) = "https://www.sogou.com/tx?ie=utf8&pid=&query=wjjhyf.eu5.org"
    sUrl(3) = "https://yz.m.sm.cn/s?q=wjjhyf.eu5.org"
    sUrl(4) = "https://www.chinaso.com/newssearch/all/allResults?q=wjjhyf.eu5.org"
    sUrl(5) = "https://so.toutiao.com/search?keyword=wjjhyf.eu5.org"
    sUrl(6) = "https://cn.bing.com/search?q=wjjhyf.eu5.org"
    sUrl(7) = "https://www.so.com/s?q=wjjhyf.eu5.org"
    sUrl(8) = "https://www.baidu.com/#&ie={inputEncoding}&wd=wjjhyf.eu5.org"
 
    If SafeArrayGetDim(oHTML) = 0 Then
        '/*初始化oHTML*/
        ReDim oHTML(MAX_PACKS - 1)
        For iI = LBound(oHTML) To UBound(oHTML)
            Set oHTML(iI) = CreateObject("Msxml2.ServerXMLHTTP")
        Next
    End If
    iWait = timeGetTime()
    Do While Abs(timeGetTime() - iWait) < 1000
        iSleep = timeGetTime()
        For iI = LBound(oHTML) To UBound(oHTML)
            '随机发送网址
            iJ = Int((UBound(sUrl) + 1) * Rnd)
            iJ = IIf(iJ > UBound(sUrl), 0, iJ) '防止溢出
            On Error Resume Next
            oHTML(iI).Open "Get", sUrl(iJ), True
            oHTML(iI).send
            On Error GoTo 0
            DoEvents
        Next
        '延时
        Do While Abs(timeGetTime() - iSleep) < MIN_TIME
            DoEvents
        Loop
    Loop
    Application.OnTime DateAdd("s", 1, Now), "刷网络"
    Application.StatusBar = Time
End Sub

关闭开发环境,回到execl窗口,按下alt+F8,运行宏【刷网络】

现在开始刷网络了,左下角有时间变化

或者打开任务管理器,查看网络带宽占用情况

我的参数调整的比较小,CPU占用率不高!此文意在抛砖引玉,让大家任意发挥!其它查看https://wjjhyf.eu5.org

要点: 【Abs(timeGetTime() - iWait) < 1000】取绝对值是怕程序运行超过49.71天,程序死循环!

timeGetTime函数返回的是开机到现在的毫秒数,可以支持1毫秒的间隔时间,而且永远增加,不存在回头的问题。当然不是永远不回头,毕竟Long型变量(双字,4字节)也是有取值范围的,这个值在0到2^32之间。大约49.71天。

可以根据自己计算机与网络的情况,调整上面两个参数!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值