Avatar billede nazaq Nybegynder
09. januar 2001 - 16:36 Der er 9 kommentarer og
1 løsning

Remote MAC address

Jeg har 2 PC\'ere i et netværk.

PC1 og PC2

Jeg vil nu gerne have at PC1 kan finde MAC adressen til PC2 via dens navn f.eks:

MACAddress:=GetMacAddress(\'PC2\');

Jeg ved det er muligt via netbios (nb30.pas) og har haft det til at virke, men ramte i et par problemer på win2k da denne åbentbart ikke understøtter IBM netbios 3.0

Jeg har også, efter at min win98 maskine har været tilsluttet et andet netwærk, fået problemer på denne.

Det skal helst kunne virke på win9x/NT/2000 hvor netværks protokollen er TCP/IP med DHCP.

Jeg ved godt det er meget at spørge om så hvis der skal flere point på bordet så sig til.

Til sidst lige den program stump jeg har brugt indtil nu (virker ikke til win2k):

function GetMACAddress(PCName: String; var MAC: array of char): char;
var
  Ncb: TNCB;
  PAst: PASTAT;
  tmp: string;
begin
  tmp := UpperCase(PCName);
  FillMemory(@Ncb, Sizeof(TNCB), 0);
  Ncb.ncb_command := Char(NCBRESET);
  Result := NetBios(@Ncb);
  if Result<>#0 then
    Exit;
  FillChar(NCB.ncb_callname[0], 16, \' \');
  Move(tmp[1], NCB.ncb_callname[0], Length(tmp));
  NCB.ncb_command := Char(NCBASTAT);
  NCB.ncb_lana_num := #0;
  NCB.ncb_length := SizeOf(ASTAT);
  GetMem(PAst, NCB.ncb_length);
  NCB.ncb_buffer := PChar(PAst);
  Result := NetBios(@Ncb);
  Move(PAst^.adapt.adapter_address[0], MAC[0], 6);
  FreeMem(PAst);
end;

NaZaq
Avatar billede nca Juniormester
09. januar 2001 - 20:11 #1
Hvorfor bruger du ikke programmet GetMac fra NT\'s ressource kit?
Avatar billede nazaq Nybegynder
10. januar 2001 - 07:45 #2
GetMac?

Den kender jeg ikke. Kan den også bruges til windows 98?
Avatar billede nca Juniormester
10. januar 2001 - 09:22 #3
Det kan desværre kun bruges på NT (og 2000 går jeg ud fra).
Avatar billede nazaq Nybegynder
30. januar 2001 - 11:19 #4
Hmmm..
Ikke nogen der kan svare?
Jeg trækker spørgsmålet tilbage.
Avatar billede lrj Nybegynder
01. februar 2001 - 19:19 #5
Heeey, jeg har været længe væk - og jeg har da et svar til dig:

Kig på følgende funktion fra JCL, som du kan hente på http://www.delphi-jedi.org - function GetMacAddresses(const Machine: string; const Addresses: TStrings): Integer;

Den findes i jclSysInfo.pas. JCL er din ven.

Vil tro den også virker under NT - et forsøg værd :)
Avatar billede nazaq Nybegynder
02. februar 2001 - 08:18 #6
Lrj> Gå hertil og få dine point :-)
http://www.eksperten.dk/spm/47454
Avatar billede nca Juniormester
02. februar 2001 - 09:11 #7
Lrj>
Kunne du ikke uddybe hvor jeg kan finde jclSysInfo.pas.
Jeg har været hos JCL, men kan ikke finde filen.
Avatar billede nazaq Nybegynder
02. februar 2001 - 09:34 #8
NCA> download deres jzl.zip der ligger den i
ftp://delphi-jedi.org/Code_Library/Beta_2/JCL.zip

/Nazaq
Avatar billede nca Juniormester
02. februar 2001 - 09:43 #9
>nazaq
Tak for hjælpen
Avatar billede nazaq Nybegynder
02. februar 2001 - 09:44 #10
Np :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester