Avatar billede Slettet bruger
27. november 2005 - 13:42 Der er 4 kommentarer og
1 løsning

Udlæs unik nøgle fra system/windows

Hej Eksperter,
Hvordan udlæser jeg eks MAC adr, eller en anden unik nøgle der gælder for den pågældende PC.

Eks et windows id, eller lign.

Tak
Avatar billede Slettet bruger
27. november 2005 - 13:58 #1
Den skal altid være sammen længde, som eks MAC er
Avatar billede lifo Nybegynder
27. november 2005 - 15:17 #2
få en MAC addresse
[DllImport("iphlpapi.dll", ExactSpelling=true)]
        public static extern int SendARP( int DestIP, int SrcIP, [Out] byte[] pMacAddr, ref int PhyAddrLen );
        /// <summary>
        /// Gets the MAC address from an IP address
        /// </summary>
        /// <param name="ipa"> the ip to get the mac</param>
        /// <returns>an string representing the mac address</returns>
        public static string GetMacAddress(IPAddress ipa)
        {
            byte[] ab = new byte[6];
            int len = ab.Length;
            string mac="inten mac";
            try
            {
                int r = SendARP( (int) ipa.Address, 0, ab, ref len );
                mac = BitConverter.ToString( ab, 0, 6 );
            }catch(Exception)
            {
               
            }
           
            return mac;
        }
Avatar billede Slettet bruger
27. november 2005 - 16:41 #3
Det skal være MAC'en på samme netkort hver gang, selvom den skifter IP, så kan ik rigtig bruge at man skal hente mac'en ud fra ip, med mindre man kan styre noget med hvis der er mere end et netkort, så tag altid fra den første.

Ellers skal jeg bruge noget andet unikt end MAC.
Avatar billede lifo Nybegynder
27. november 2005 - 18:20 #4
du kan hente den først ip på denne måde

IPHostEntry entry = Dns.GetHostByName(Dns.GetHostName());
            IPAddress ip  = IPAddress.Parse(entry.AddressList[0].ToString());
            string mac = GetMacAddress(ip);
Avatar billede Slettet bruger
28. november 2005 - 19:32 #5
Jag faldt over at man jo kunne hente CPU id/sn. Så har lavet lidt kode der burde kunne det, men jeg får en null ref error - er der nogle der kan se fejlen?

ManagementObject mo = new ManagementObject("Win32_Processor.DeviceID='CPU0'");
string UniqueId = mo.Properties["UniqueId"].Value.ToString();
MessageBox.Show(UniqueId);

Den laver den i linie 2... Hvis jeg læser ProcessorId istedet for UniqueId, så virker det fint, lidt mærkeligt da begge burde returne strings.

Se eks: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_processor.asp
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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