>>请问怎样读取及修改本机的ip地址 get the own IP Address? uses Winsock; {...} function getIPs: Tstrings; type TaPInAddr = array[0..10] of PInAddr; PaPInAddr = ^TaPInAddr; var phe: PHostEnt; pptr: PaPInAddr; Buffer: array[0..63] of Char; I: Integer; GInitData: TWSAData; begin WSAStartup($101, GInitData); Result := TstringList.Create; Result.Clear; GetHostName(Buffer, SizeOf(Buffer)); phe := GetHostByName(buffer); if phe = nil then Exit; pPtr := PaPInAddr(phe^.h_addr_list); I := 0; while pPtr^[I] <> nil do begin Result.Add(inet_ntoa(pptr^[I]^)); Inc(I); end; WSACleanup; end; procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines := GetIps; end;
修改本机的ip地址、子网掩码、网关:shellexecute(handle,'','netsh interface ip set address “本地连接”static 192.168.0.1 255.255.255.0 192.168.0.10 1',nil,nil,sw_hide) 同理可得修改DNS及wins等信息的方法. 相关网络命令如下: set address name = ″本地连接″ source = static addr = 192.168.0.5 mask = 255.255.255.0 set address name = ″本地连接″ gateway = 192.168.0.2 gwmetric = 1 set dns name = ″本地连接″ source = static addr = 61.237.17.181 add dns name = ″本地连接″ addr = 211.97.168.129 add dns name = ″本地连接″ addr = 211.98.4.1 set wins name = ″本地连接″ source = static addr = none
get the own IP Address? uses
Winsock; {...} function getIPs: Tstrings;
type
TaPInAddr = array[0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: array[0..63] of Char;
I: Integer;
GInitData: TWSAData;
begin
WSAStartup($101, GInitData);
Result := TstringList.Create;
Result.Clear;
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then Exit;
pPtr := PaPInAddr(phe^.h_addr_list);
I := 0;
while pPtr^[I] <> nil do
begin
Result.Add(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end; procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines := GetIps;
end;
同理可得修改DNS及wins等信息的方法.
相关网络命令如下:
set address name = ″本地连接″ source = static addr = 192.168.0.5 mask = 255.255.255.0
set address name = ″本地连接″ gateway = 192.168.0.2 gwmetric = 1
set dns name = ″本地连接″ source = static addr = 61.237.17.181
add dns name = ″本地连接″ addr = 211.97.168.129
add dns name = ″本地连接″ addr = 211.98.4.1
set wins name = ″本地连接″ source = static addr = none
http://community.csdn.net/Expert/topic/3238/3238836.xml?temp=.1087305
http://community.csdn.net/Expert/topic/3238/3238844.xml?temp=.4354517