delphi Dns ve İp adresleri girme
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
delphi Dns ve İp adresleri girme
arkadaşlar delphide dns ip girmek için nasıl bir yol izlemem gerek regedit ile yapmaya çalıştıgımda [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\{05DD1A62-8016-403C-B7B9-FB5B6B3F037C}] anahtarında nterfaces altında bulunan {05DD1A62-8016-403C-B7B9-FB5B6B3F037C}] her makinada farklı oldugu için yapamadım ip dns delphi ile nasıl sisteme girebilirim yardımcı olaiblirmsiniz aşagıdaki linkte örnek verilmiş ama foksiyonu nasıl kullanacagımı bilmiiyorum apiler wmı yapılabilinyormuş yardımcı olabilirmisiniz
viewtopic.php?f=2&t=2990&p=15444&hilit=dns#p15444
viewtopic.php?f=2&t=2990&p=15444&hilit=dns#p15444
Re: delphi Dns ve İp adresleri girme
bu konuda yardımcı olaiblecek kimse yokmu
Re: delphi Dns ve İp adresleri girme
http://www.delphigeist.com/2010/03/how- ... dress.html
http://delphi.about.com/od/networking/l/aa103100a.htm
http://www.scalabium.com/faq/dct0037.htm
http://embarcadero.newsgroups.archived. ... 62030.html
adreslerinde yapmak istediğin işlemlerle ilgili örnekler var
http://delphi.about.com/od/networking/l/aa103100a.htm
http://www.scalabium.com/faq/dct0037.htm
http://embarcadero.newsgroups.archived. ... 62030.html
adreslerinde yapmak istediğin işlemlerle ilgili örnekler var
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Re: delphi Dns ve İp adresleri girme
tşk kardeş ama bana ip ,alt ag maskesi, varsayılan ag geçidi ve dns ayarlarınıda degiştirmek istiyorum bunları yönetmek istiyorum editlere bilgileri girecem otomatik kayıt edecek yardımcı olabilirmisin
Re: delphi Dns ve İp adresleri girme
arkadaşlar bilgisi olan kimse yokmu
- veliadiguzel
- Üye
- Mesajlar: 197
- Kayıt: 09 Tem 2003 02:11
- Konum: Gebze/Kocaeli
- İletişim:
Re: delphi Dns ve İp adresleri girme
DHCP ayarlamak için windows script
Static 2 ip girmek için script.
Shellexecute ile bunları çalıştırabilirisin bileşen felan kullanmadan.
Kod: Tümünü seç
Set objShell = WScript.CreateObject("Wscript.Shell")
objShell.Run "netsh interface ip set address name=""Yerel Ağ Bağlantısı"" dhcp"
Set objShell = Nothing
WScript.Quit
Kod: Tümünü seç
Dim strIPAddress
Dim strSubnetMask
Dim strGateway
Dim intGatewayMetric
Dim strDns1
Dim strDns2
strIPAddress = "192.168.1.111"
strSubnetMask = "255.255.255.0"
strGateway = "192.168.1.1"
intGatewayMetric = 1
strDns1 = "208.67.222.222"
strDns2 = "195.175.39.40"
Set objShell = WScript.CreateObject("Wscript.Shell")
objShell.Run "netsh interface ip set address name=""Yerel Ağ Bağlantısı"" static " & strIPAddress & " " & strSubnetMask & " " & strGateway & " " & intGatewayMetric, 0, True
objShell.Run "netsh interface ip set dns name=""Yerel Ağ Bağlantısı"" static "& strDns1, 0, True
objShell.Run "netsh interface ip add dns name=""Yerel Ağ Bağlantısı"" addr="& strDns2, 0, True
objShell.Run "netsh interface ip add address name=""Yerel Ağ Bağlantısı"" 176.16.0.3 255.255.0.0 "
Set objShell = Nothing
WScript.Quit
Veli ADIGÜZEL
Re: delphi Dns ve İp adresleri girme
Burada bir örnek bulabilirsiniz...
There's no place like 127.0.0.1
Re: delphi Dns ve İp adresleri girme
kardeş bunlar visual basic kodları delphi için geçerli degil
- veliadiguzel
- Üye
- Mesajlar: 197
- Kayıt: 09 Tem 2003 02:11
- Konum: Gebze/Kocaeli
- İletişim:
Re: delphi Dns ve İp adresleri girme
Aslında windows script bunlar direk shellexecute ile bir dosyaya kaydedip kullana bilirsiniz.
Veli ADIGÜZEL
Re: delphi Dns ve İp adresleri girme
tammada nasıl kullanıldıgı hakkında bilgi verebilirmsini mesala editlere dns ve ipleri yazdıgımda direk ethernet kartının ağ bağlantılarına ekleyecek
Re: delphi Dns ve İp adresleri girme
- @SimaWeb'in verdiği WMI API'yi denedin mi ?
- Ayrıca script ile yapacaksan da "Yerel Ağ Bağlantısı" yazan yere senin GUID'ler değişiyor ondan erişemiyorum dediğin yerin altındaki ismi yazman gerek. "Yerel Ağ Bağlantısı 1" veya "Yerel Ağ Bağlantısı 2" olsa nasıl bu scripti dizginleyeceksin ?
- @SimaWeb'inkini yapamıyorsan o zaman Registry'e dönüp GUID'lerin listesini alıp, onların altında sıra ile anahtarları açıp arayacak bir çözüm üreteceksin.
- Ayrıca script ile yapacaksan da "Yerel Ağ Bağlantısı" yazan yere senin GUID'ler değişiyor ondan erişemiyorum dediğin yerin altındaki ismi yazman gerek. "Yerel Ağ Bağlantısı 1" veya "Yerel Ağ Bağlantısı 2" olsa nasıl bu scripti dizginleyeceksin ?
- @SimaWeb'inkini yapamıyorsan o zaman Registry'e dönüp GUID'lerin listesini alıp, onların altında sıra ile anahtarları açıp arayacak bir çözüm üreteceksin.
Re: delphi Dns ve İp adresleri girme
regedit ile denedim her bilgisayarda farklı oldugu için ethernet kartı olmuyor diger yöntemleri deneycegim
Re: delphi Dns ve İp adresleri girme
Etherneti okumaya çalıştıgımda combox ta göremiyorum oNetAdapters ethernet bilgilerinin yazdıgı yer degilmi ben bu kısımdan okumam gerekmiyormu birden fazla ethernet varsa hangisine istiyorsa ona atasın ip ve dnsleri burdaki hatam nedir
procedure TForm10.FormCreate(Sender: TObject);
var
oNetAdapters,oNetAdapter,oWMIService : OleVariant;
begin
ComboBox1.Items.add(oNetAdapter);
end;
end.
procedure TForm10.FormCreate(Sender: TObject);
var
oNetAdapters,oNetAdapter,oWMIService : OleVariant;
begin
ComboBox1.Items.add(oNetAdapter);
end;
end.
Re: delphi Dns ve İp adresleri girme
daha önceki mesajınızda da belirtmiştim, wmi işini bir kenara bırakıp önce delphinin temellerini öğrenseniz iyi olur diye.pakv yazdı:Etherneti okumaya çalıştıgımda combox ta göremiyorum oNetAdapters ethernet bilgilerinin yazdıgı yer degilmi ben bu kısımdan okumam gerekmiyormu birden fazla ethernet varsa hangisine istiyorsa ona atasın ip ve dnsleri burdaki hatam nedir
procedure TForm10.FormCreate(Sender: TObject);
var
oNetAdapters,oNetAdapter,oWMIService : OleVariant;
begin
ComboBox1.Items.add(oNetAdapter);
end;
end.
sizin yazdığınız kodda oNetAdapters sadece bir değişken ve bu değişkeni değer ataması dahi yapmadan kullanmışsınız
Kod: Tümünü seç
procedure TForm10.FormCreate(Sender: TObject); // => Form nesnesi create edildiğinde çalışan prosedür
var // => Prosedür içinde kullanılacak değişkenlerin tanımlandığı blok
oNetAdapters,oNetAdapter,oWMIService : OleVariant; // => bu prosedür içinde geçerli olacak değişkenler
begin // => Prosedür başlangıcı
ComboBox1.Items.add(oNetAdapter); // => tanımlanmış değişkenin, değer ataması dahi yapılmadan kullanılması
end; // => Prosedür bitişiı
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Re: delphi Dns ve İp adresleri girme
unicorn64 delphi nin temlelerini biliyorum ide sini biliyorum eksiklerim olabilir regeditle bir çok sisteme müdahele yapan programlar tasarladım eger temelleri bilmesem bunları yapamazdım wmi karışık SimaWeb wmi küçük örnek yapmış ethernete yazıyor ama orda etherneti bu bölümmü okuyor diye bulmaya çalıştım wmi ilk defa kullanmaya çalışıyorum kodlar aşagıda amaç etherneti okumaya çalışıyom regedit ile okudum etherneti combobox ta gösteriyor ama regedit ile okudugumu wmi yazabilirmiyim onun için üzerinde çalışıyorum
function SetIpConfig(const AIpAddress : string;
const AGateWay : string = '';
const ASubnetMask : string = '') : integer;
var Retvar : integer;
oBindObj : IDispatch;
oNetAdapters,oNetAdapter,
oIpAddress,oGateWay,
oWMIService,oSubnetMask : OleVariant;
i,iValue : longword;
oEnum : IEnumvariant;
oCtx : IBindCtx;
oMk : IMoniker;
sFileObj : widestring;
begin
Retvar := 0;
sFileObj := 'winmgmts:\\.\root\cimv2';
// Create OLE [IN} Parameters
oIpAddress := VarArrayCreate([1,1],varOleStr);
oIpAddress[1] := AIpAddress;
oGateWay := VarArrayCreate([1,1],varOleStr);
oGateWay[1] := AGateWay;
oSubnetMask := VarArrayCreate([1,1],varOleStr);
if ASubnetMask = '' then
oSubnetMask[1] := '255.255.255.0'
else
oSubnetMask[1] := ASubnetMask;
// Connect to WMI - Emulate API GetObject()
OleCheck(CreateBindCtx(0,oCtx));
OleCheck(MkParseDisplayNameEx(oCtx,PWideChar(sFileObj),i,oMk));
OleCheck(oMk.BindToObject(oCtx,nil,IUnknown,oBindObj));
oWMIService := oBindObj;
oNetAdapters := oWMIService.ExecQuery('Select * from ' +
'Win32_NetworkAdapterConfiguration ' +
'where IPEnabled=TRUE');
oEnum := IUnknown(oNetAdapters._NewEnum) as IEnumVariant;
while oEnum.Next(1,oNetAdapter,iValue) = 0 do begin
try
// Set by DHCP ? (Gateway and Subnet ignored)
if (AIpAddress = '') or SameText(AIpAddress,'DHCP') then
Retvar := oNetAdapter.EnableDHCP
// Set via STATIC ?
else begin
Retvar := oNetAdapter.EnableStatic(oIpAddress,oSubnetMask);
// Change Gateway ?
if (Retvar = 0) and (AGateWay <> '') then
Retvar := oNetAdapter.SetGateways(oGateway);
// *** This is where we need some sort of ***
// *** Network Mapped Resource Refresh ***
end;
except
Retvar := -1;
end;
oNetAdapter := Unassigned;
end;
oGateWay := Unassigned;
oSubnetMask := Unassigned;
oIpAddress := Unassigned;
oNetAdapters := Unassigned;
oWMIService := Unassigned;
Result := Retvar;
end;
function SetDnsServers(const APrimaryDNS : string;
const AAlternateDNS : string = '') : integer;
var Retvar : integer;
oBindObj : IDispatch;
oNetAdapters,oNetAdapter,
oDnsAddr,oWMIService : OleVariant;
i,iValue,iSize : longword;
oEnum : IEnumvariant;
oCtx : IBindCtx;
oMk : IMoniker;
sFileObj : widestring;
begin
Retvar := 0;
sFileObj := 'winmgmts:\\.\root\cimv2';
iSize := 0;
if APrimaryDNS <> '' then inc(iSize);
if AAlternateDNS <> '' then inc(iSize);
// Create OLE [IN} Parameters
if iSize > 0 then begin
oDnsAddr := VarArrayCreate([1,iSize],varOleStr);
oDnsAddr[1] := APrimaryDNS;
if iSize > 1 then oDnsAddr[2] := AAlternateDNS;
end;
// Connect to WMI - Emulate API GetObject()
OleCheck(CreateBindCtx(0,oCtx));
OleCheck(MkParseDisplayNameEx(oCtx,PWideChar(sFileObj),i,oMk));
OleCheck(oMk.BindToObject(oCtx,nil,IUnknown,oBindObj));
oWMIService := oBindObj;
oNetAdapters := oWMIService.ExecQuery('Select * from ' +
'Win32_NetworkAdapterConfiguration ' +
'where IPEnabled=TRUE');
oEnum := IUnknown(oNetAdapters._NewEnum) as IEnumVariant;
while oEnum.Next(1,oNetAdapter,iValue) = 0 do begin
try
if iSize > 0 then
Retvar := oNetAdapter.SetDNSServerSearchOrder(oDnsAddr)
else
Retvar := oNetAdapter.SetDNSServerSearchOrder();
except
Retvar := -1;
end;
oNetAdapter := Unassigned;
end;
oDnsAddr := Unassigned;
oNetAdapters := Unassigned;
oWMIService := Unassigned;
Result := Retvar;
end;
function SetIpConfig(const AIpAddress : string;
const AGateWay : string = '';
const ASubnetMask : string = '') : integer;
var Retvar : integer;
oBindObj : IDispatch;
oNetAdapters,oNetAdapter,
oIpAddress,oGateWay,
oWMIService,oSubnetMask : OleVariant;
i,iValue : longword;
oEnum : IEnumvariant;
oCtx : IBindCtx;
oMk : IMoniker;
sFileObj : widestring;
begin
Retvar := 0;
sFileObj := 'winmgmts:\\.\root\cimv2';
// Create OLE [IN} Parameters
oIpAddress := VarArrayCreate([1,1],varOleStr);
oIpAddress[1] := AIpAddress;
oGateWay := VarArrayCreate([1,1],varOleStr);
oGateWay[1] := AGateWay;
oSubnetMask := VarArrayCreate([1,1],varOleStr);
if ASubnetMask = '' then
oSubnetMask[1] := '255.255.255.0'
else
oSubnetMask[1] := ASubnetMask;
// Connect to WMI - Emulate API GetObject()
OleCheck(CreateBindCtx(0,oCtx));
OleCheck(MkParseDisplayNameEx(oCtx,PWideChar(sFileObj),i,oMk));
OleCheck(oMk.BindToObject(oCtx,nil,IUnknown,oBindObj));
oWMIService := oBindObj;
oNetAdapters := oWMIService.ExecQuery('Select * from ' +
'Win32_NetworkAdapterConfiguration ' +
'where IPEnabled=TRUE');
oEnum := IUnknown(oNetAdapters._NewEnum) as IEnumVariant;
while oEnum.Next(1,oNetAdapter,iValue) = 0 do begin
try
// Set by DHCP ? (Gateway and Subnet ignored)
if (AIpAddress = '') or SameText(AIpAddress,'DHCP') then
Retvar := oNetAdapter.EnableDHCP
// Set via STATIC ?
else begin
Retvar := oNetAdapter.EnableStatic(oIpAddress,oSubnetMask);
// Change Gateway ?
if (Retvar = 0) and (AGateWay <> '') then
Retvar := oNetAdapter.SetGateways(oGateway);
// *** This is where we need some sort of ***
// *** Network Mapped Resource Refresh ***
end;
except
Retvar := -1;
end;
oNetAdapter := Unassigned;
end;
oGateWay := Unassigned;
oSubnetMask := Unassigned;
oIpAddress := Unassigned;
oNetAdapters := Unassigned;
oWMIService := Unassigned;
Result := Retvar;
end;
function SetDnsServers(const APrimaryDNS : string;
const AAlternateDNS : string = '') : integer;
var Retvar : integer;
oBindObj : IDispatch;
oNetAdapters,oNetAdapter,
oDnsAddr,oWMIService : OleVariant;
i,iValue,iSize : longword;
oEnum : IEnumvariant;
oCtx : IBindCtx;
oMk : IMoniker;
sFileObj : widestring;
begin
Retvar := 0;
sFileObj := 'winmgmts:\\.\root\cimv2';
iSize := 0;
if APrimaryDNS <> '' then inc(iSize);
if AAlternateDNS <> '' then inc(iSize);
// Create OLE [IN} Parameters
if iSize > 0 then begin
oDnsAddr := VarArrayCreate([1,iSize],varOleStr);
oDnsAddr[1] := APrimaryDNS;
if iSize > 1 then oDnsAddr[2] := AAlternateDNS;
end;
// Connect to WMI - Emulate API GetObject()
OleCheck(CreateBindCtx(0,oCtx));
OleCheck(MkParseDisplayNameEx(oCtx,PWideChar(sFileObj),i,oMk));
OleCheck(oMk.BindToObject(oCtx,nil,IUnknown,oBindObj));
oWMIService := oBindObj;
oNetAdapters := oWMIService.ExecQuery('Select * from ' +
'Win32_NetworkAdapterConfiguration ' +
'where IPEnabled=TRUE');
oEnum := IUnknown(oNetAdapters._NewEnum) as IEnumVariant;
while oEnum.Next(1,oNetAdapter,iValue) = 0 do begin
try
if iSize > 0 then
Retvar := oNetAdapter.SetDNSServerSearchOrder(oDnsAddr)
else
Retvar := oNetAdapter.SetDNSServerSearchOrder();
except
Retvar := -1;
end;
oNetAdapter := Unassigned;
end;
oDnsAddr := Unassigned;
oNetAdapters := Unassigned;
oWMIService := Unassigned;
Result := Retvar;
end;