A
aabb_1980
Unregistered / Unconfirmed
GUEST, unregistred user!
各位朋友,小弟的代码如下,小弟自己测试过,键值的位置肯定是没有错的,但为什么实际操作时,只有DNS的地址起变化,而其它IP、子网、和网关就会无效的呢?请各位朋友赐教,谢谢!!!
procedure TForm1.FormCreate(Sender: TObject);
var
ini: TIniFile;
ip, mask, gateway, dns: string;
begin
ini := Tinifile.Create(ExtractFilePath(ParamStr(0)) + 'login.txt');
ip := ini.ReadString('login', 'ip', '');
mask := ini.ReadString('login', 'mask', '');
gateway := ini.ReadString('login', 'gateway', '');
dns := ini.ReadString('login', 'dns', '');
Write_Reg('IPAddress', ip);
Write_Reg('SubnetMask', mask);
Write_Reg('DefaultGateway', gateway);
Write_Reg('NameServer', dns);
ini.Free;
Application.Terminate;
end;
procedure TForm1.Write_Reg(Net_Str, Value_Str: string);
var
myreg: TRegistry; //注册表
begin
myreg := TRegistry.Create;
with myreg do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('SYSTEM/ControlSet001/Services/Tcpip/Parameters/Interfaces/{1AB26ADD-A307-4BE6-820D-1D99C76CBDB5}', True) and ValueExists(Net_Str) then
begin
WriteString(Net_Str, Value_Str);
myreg.CloseKey;
myreg.Free;
end
else
begin
ShowMessage('找不到该键值,请检查注册表里面是否有该键值!');
Abort;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
ini: TIniFile;
ip, mask, gateway, dns: string;
begin
ini := Tinifile.Create(ExtractFilePath(ParamStr(0)) + 'login.txt');
ip := ini.ReadString('login', 'ip', '');
mask := ini.ReadString('login', 'mask', '');
gateway := ini.ReadString('login', 'gateway', '');
dns := ini.ReadString('login', 'dns', '');
Write_Reg('IPAddress', ip);
Write_Reg('SubnetMask', mask);
Write_Reg('DefaultGateway', gateway);
Write_Reg('NameServer', dns);
ini.Free;
Application.Terminate;
end;
procedure TForm1.Write_Reg(Net_Str, Value_Str: string);
var
myreg: TRegistry; //注册表
begin
myreg := TRegistry.Create;
with myreg do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('SYSTEM/ControlSet001/Services/Tcpip/Parameters/Interfaces/{1AB26ADD-A307-4BE6-820D-1D99C76CBDB5}', True) and ValueExists(Net_Str) then
begin
WriteString(Net_Str, Value_Str);
myreg.CloseKey;
myreg.Free;
end
else
begin
ShowMessage('找不到该键值,请检查注册表里面是否有该键值!');
Abort;
end;
end;
end;