找回密码
 加入
搜索
查看: 2008|回复: 5

arp循环绑定要怎么设置

[复制链接]
发表于 2009-1-26 00:52:35 | 显示全部楼层 |阅读模式
单绑定的代码是:
RunWait(@ComSpec & " /c " & " ARP -S 192.168.0.107 "& $mac &"", "", @SW_HIDE)
要怎么设置可以过一秒钟就绑定一次知道程序结束为止
本网站搜索的ARP 循环绑定好像不行啊
 楼主| 发表于 2009-1-26 01:14:47 | 显示全部楼层
while 1
RunWait(@ComSpec & " /c " & " ARP -S 192.168.0.251 00-00-00-00-00-00", "", @SW_HIDE)
    Sleep(500)
wend

运行的时候进程一直在增加,有什么办法没有

[ 本帖最后由 ynqjflying52 于 2009-1-26 01:51 编辑 ]
发表于 2009-1-26 07:25:24 | 显示全部楼层
AdlibEnable ( "arp" , 1000)

Func arp()
RunWait(@ComSpec & " /c " & " ARP -S 192.168.0.251 00-00-00-00-00-00", "", @SW_HIDE)
EndFunc
 楼主| 发表于 2009-1-26 11:32:10 | 显示全部楼层
怎么还是不行啊进程都看不到
发表于 2009-1-27 17:47:37 | 显示全部楼层
这样的循环绑定有必要么?浪费系统资源。
一般情况下路由中全绑,客户机在开机时绑重要服务器、路由之类的IPMAC和自己的IPMAC一次就好了吧,再多的防护靠局域网监测了,不是你这样循环绑就好的,而且这样绑下去,对一些对CPU占用很敏感的程序就会表现得很糟糕,比如某些FPS游戏
发表于 2009-1-28 11:08:37 | 显示全部楼层

试试这个,XP下测试通过的。。

If Not FileExists(@ScriptDir&"\Config.ini") Then
        IniWrite(@ScriptDir&"\Config.ini", "配置", "IP", "")
        IniWrite(@ScriptDir&"\Config.ini", "配置", "MAC", "")
EndIf

$ip = IniRead(@ScriptDir&"\Config.ini", "配置", "IP", "")
$mac = IniRead(@ScriptDir&"\Config.ini", "配置", "MAC", "")

If $ip = "" Or $mac = "" Then
        MsgBox(32, "提示", "请填写好配置文件后再试~")
Else
        While 1
                _RunDOS("arp -s "& $ip &" "& $mac)
                Sleep(1000)
                _ReduceMemory(@AutoItPID)
        WEnd
EndIf

Func _ReduceMemory($i_PID = -1)  ;<==释放内存函数
    If $i_PID <> -1 Then
        Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $i_PID)
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0])
        DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle[0])
    Else
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)
    EndIf
 
    Return $ai_Return[0]
EndFunc

Func _RunDOS($sCommand)
        Local $nResult = RunWait(@ComSpec & " /C " & $sCommand, "", @SW_HIDE)
        Return SetError(@error, @extended, $nResult)
EndFunc   ;==>_RunDOS
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-23 08:18 , Processed in 0.077977 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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