Avatar billede telesde Nybegynder
18. marts 2002 - 19:48 Der er 4 kommentarer og
1 løsning

Hentning af MAC adressen

Hej gutter
er er det muligt at lave en hjemmeside der viser pcens MAC adresse og hvordan???

til dem der ikke ved hvad en mac adresse er kan den også kaldes den fysiske adresse på netkortet det er et 12 cifret nummer det består at både tal og bogstaver.
Avatar billede tubber Juniormester
19. marts 2002 - 15:04 #1
Du kan bruge den dos commando der hedder ipconfig:

Shell ("Ipconfig /all /batch " + App.Path + "\netdata.txt"), 0

Så får du en txtfil du kan læse alle dine netkortsdata fra, og den ligger i dit program dir.....

Tubber
Avatar billede iblarsen Praktikant
25. marts 2002 - 08:52 #2
Hvis du vil hente MAC-adressen fra dit vb program - kan du bruge nedennævnte:

'*
'* GetMacAddress
'*
 
Private Const NCBASTAT = &H33
Private Const NCBNAMSZ = 16
Private Const HEAP_ZERO_MEMORY = &H8
Private Const HEAP_GENERATE_EXCEPTIONS = &H4
Private Const NCBRESET = &H32

  Private Type NCB
        ncb_command As Byte 'Integer
        ncb_retcode As Byte 'Integer
        ncb_lsn As Byte 'Integer
        ncb_num As Byte ' Integer
        ncb_buffer As Long 'String
        ncb_length As Integer
        ncb_callname As String * NCBNAMSZ
        ncb_name As String * NCBNAMSZ
        ncb_rto As Byte 'Integer
        ncb_sto As Byte ' Integer
        ncb_post As Long
        ncb_lana_num As Byte 'Integer
        ncb_cmd_cplt As Byte  'Integer
        ncb_reserve(9) As Byte ' Reserved, must be 0
        ncb_event As Long
  End Type
  Private Type ADAPTER_STATUS
        adapter_address(5) As Byte 'As String * 6
        rev_major As Byte 'Integer
        reserved0 As Byte 'Integer
        adapter_type As Byte 'Integer
        rev_minor As Byte 'Integer
        duration As Integer
        frmr_recv As Integer
        frmr_xmit As Integer
        iframe_recv_err As Integer
        xmit_aborts As Integer
        xmit_success As Long
        recv_success As Long
        iframe_xmit_err As Integer
        recv_buff_unavail As Integer
        t1_timeouts As Integer
        ti_timeouts As Integer
        Reserved1 As Long
        free_ncbs As Integer
        max_cfg_ncbs As Integer
        max_ncbs As Integer
        xmit_buf_unavail As Integer
        max_dgram_size As Integer
        pending_sess As Integer
        max_cfg_sess As Integer
        max_sess As Integer
        max_sess_pkt_size As Integer
        name_count As Integer
  End Type
  Private Type NAME_BUFFER
        name  As String * NCBNAMSZ
        name_num As Integer
        name_flags As Integer
  End Type
  Private Type ASTAT
        adapt As ADAPTER_STATUS
        NameBuff(30) As NAME_BUFFER
  End Type

  Private Declare Function Netbios Lib "netapi32.dll" (pncb As NCB) As Byte
  Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
  Private Declare Function GetProcessHeap Lib "kernel32" () As Long
  Private Declare Function HeapAlloc Lib "kernel32" (ByVal hHeap As Long, ByVal dwFlags As Long, ByVal dwBytes As Long) As Long
  Private Declare Function HeapFree Lib "kernel32" (ByVal hHeap As Long, ByVal dwFlags As Long, lpMem As Any) As Long

Public Function GetMacAddress() As String
      Dim myNcb As NCB
      Dim bRet As Byte
      myNcb.ncb_command = NCBRESET
      bRet = Netbios(myNcb)

      myNcb.ncb_command = NCBASTAT
      myNcb.ncb_lana_num = 0
      myNcb.ncb_callname = "*              "

      Dim myASTAT As ASTAT, tempASTAT As ASTAT
      Dim pASTAT As Long
      myNcb.ncb_length = Len(myASTAT)
      pASTAT = HeapAlloc(GetProcessHeap(), HEAP_GENERATE_EXCEPTIONS _
                Or HEAP_ZERO_MEMORY, myNcb.ncb_length)
      If pASTAT = 0 Then
          Exit Function
      End If
      myNcb.ncb_buffer = pASTAT
      bRet = Netbios(myNcb)
      CopyMemory myASTAT, myNcb.ncb_buffer, Len(myASTAT)
      GetMacAddress = Hex(myASTAT.adapt.adapter_address(0)) & " " & _
              Hex(myASTAT.adapt.adapter_address(1)) _
              & " " & Hex(myASTAT.adapt.adapter_address(2)) & " " _
              & Hex(myASTAT.adapt.adapter_address(3)) _
              & " " & Hex(myASTAT.adapt.adapter_address(4)) & " " _
              & Hex(myASTAT.adapt.adapter_address(5))
      HeapFree GetProcessHeap(), 0, pASTAT

End Function
Avatar billede telesde Nybegynder
25. marts 2002 - 13:28 #3
til >>iblarsen
duer den også til en asp hjemmeside ????
Avatar billede iblarsen Praktikant
26. marts 2002 - 08:26 #4
Hvis det er din egen mac-adresse og med lidt syntaks ændringer skulle det gerne virke.
Avatar billede telesde Nybegynder
16. april 2002 - 23:41 #5
lukker spørgsmålet da jeg ikke har fået et ordenligt svar der virker
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