Selamlar,
Program kopya engeli konusunda sitede bir sürü yazı var ama hepsi tek makinada kontrol ile ilgili şeyler.
Benim istediğim client dan serverdeki bir programın kısayolu tıklanarak exesi çalıştığında serverin ethernet mac adresini yada serverin hdd nosu gibi bir kontrol.
Sitedeki tüm anlatılanlar hep exenin çalıştığı makinanın özelliklerini veriyor.
Serverin Ethernet Mac Adresi Yada Disk No vs kontrolu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Serverin Ethernet Mac Adresi Yada Disk No vs kontrolu
"Millete efendilik olmaz,hizmet olur,
kim Millete hizmet ederse,
o milletin efendisidir."
kim Millete hizmet ederse,
o milletin efendisidir."
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Sunucu bilgisayar bilgilerini istersen bir dosyada tut ve program kopyalanınca sadece terminallerden çalışabilsin . Şaka bir yana soket kullanarak sunucu bilgilerini okuyabilirsin. Gerçi o durumda da güvenlik duvarları büyük problemler yaşatır. Bu konu beni biraz aşıyor ama gelecek cevaplar benimde işime yarayacak.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Local ağdaki bir makinenin mac adresini alabilmeniz için:
unit kısmına 'winsock' ekleyin
function SendARP(DestIp: DWORD; srcIP: DWORD; pMacAddr: pointer; PhyAddrLen: Pointer): DWORD; stdcall; external
'iphlpapi.dll';
Kullanımı:
unit kısmına 'winsock' ekleyin
function SendARP(DestIp: DWORD; srcIP: DWORD; pMacAddr: pointer; PhyAddrLen: Pointer): DWORD; stdcall; external
'iphlpapi.dll';
Kod: Tümünü seç
function getRemoteMacAdress(var address: string): Boolean;
var
dwRemoteIP, SRIP: DWORD;
PhyAddrLen: Longword;
pMacAddr: array[0..1] of Longword;
temp: array[0..5] of byte;
I: Byte;
begin
Result := false;
dwremoteIP := inet_addr(@address[1]);
if dwremoteIP <> 0 then
begin
PhyAddrLen := 6;
if SendARP(dwremoteIP, SRIP, @pMacAddr, @PhyAddrLen) = NO_ERROR then
begin
if (PhyAddrLen <> 0) and (pMacAddr[0] <> 0) then
begin
Move(pMacAddr, temp, 6);
address := '';
for I := 0 to 5 do
begin
address := address + inttohex(temp[i], 2) + '-';
end;
Delete(address, Length(address), 1);
Result := true;
end;
end;
end;
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
mac: string;
begin
mac := '10.0.0.2';
getRemoteMacAdress(mac);
ShowMessage(mac);
end;