#include <Array.au3>
#include <File.au3>
#include <GuiIPAddress.au3>
Local $dhcpServer = FindDhcpServer()
If $dhcpServer <> '' Then
WriteConfigFile($dhcpServer)
MsgBox(64, '成功!', 'DHCP服务器地址已写入配置文件.',3)
Else
MsgBox(16, '错误', '未找到DHCP服务器地址。',3)
EndIf
Func FindDhcpServer()
Local $output = Run(@ComSpec & ' /c ipconfig /all', '', @SW_HIDE, $STDOUT_CHILD)
Local $data = ''
While 1
$line = StdoutRead($output)
If @error Then ExitLoop
$data &= $line
WEnd
Local $pattern = 'DHCP 服务器 .+?: (?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})'
Local $result = StringRegExp($data, $pattern, 3)
If @error Then
Return ''
Else
Return $result[0]
EndIf
EndFunc ;==>FindDhcpServer
Func WriteConfigFile($dhcpServer)
Local $filePath = 'config.ini'
Local $configData = 'DHCP_SERVER=' & $dhcpServer
If Not FileExists($filePath) Then
FileWrite($filePath, $configData)
Else
Local $fileContent = FileRead($filePath)
Local $newContent = StringRegExpReplace($fileContent, 'DHCP_SERVER=.+', $configData)
FileDelete($filePath)
FileWrite($filePath, $newContent)
EndIf
EndFunc ;==>WriteConfigFile
|