IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Подскажите пожалуста, как узнать MAC address (http://www.imho.ws/showthread.php?t=47337)

Lord Skill 30.12.2003 19:06

Подскажите пожалуста, как узнать MAC address
 
Подскажите пожалуста, как узнать MAC Address (программно) машины, если машина не подключина к сети.

нужно для всех WINDOWS nachinaja s 98
i na Visual Basic ili OCX component
:dance:

theQUE 30.12.2003 20:18

есть такая функция в Iphlpapi.dll - GetAdaptersInfo

см. MSDN

r99 30.12.2003 20:18

найти пакетный драйвер под ДОС для данной сетевой карты и запустить в ДОСЕ
с соответствующими опциями - MAC адрес и проявится

Lord Skill 30.12.2003 21:57

может я не так точно выразился - но вообшем мне надо зашитить прогу так чтоб она работала только на одном компе - и написать ее надо на Visual Basic

nice 31.12.2003 01:47

Lord Skill
Достаточно сетевушку переставить, и на другом компе тоже будет работать, а можно прошивку перезаписать и одна и та же прога будет работать на 2-ух сетевых и более.
Хочешь привизать используй или BIOS или HDD:
GetVolumeInformation вернет серийный номер ндд

Lord Skill 31.12.2003 03:23

GetVolumeInformation ету функцию к какому компоненту прикрепить?

Supervisor 31.12.2003 13:51

Win98
В коммандной строке набрать winipcfg

WinXP
В коммандной строке набрать ipconfig /all

Lord Skill 31.12.2003 14:21

appz_news
да ето ясно - но мне надо так чтобы программно из ВБ сверять - подходит ли етот МАК или ХДД или нет и чтоб прога работала только с одним компом!!!
то есть надо вычислить программно!!

Supervisor 31.12.2003 14:31

Посмотри тут:
h__p://www.codenet.ru/progr/inet/mac_addr.php
h__p://www.sources.ru/cpp/faqs/1.htm

Lord Skill 31.12.2003 15:27

appz_news
спасибо
...но первая ссылка - там всегда нули выдает
а вторая по C++

:ooh:

Добавлено через 7 минут:
а у меня в свойствах LAN написано :
NetBIOS over Tcpip : Disabled

Supervisor 31.12.2003 18:15

h__p://www.sources.ru/vb/vb_determining_mac_address.shtml

Lord Skill 01.01.2004 18:36

Цитата:

Первоначальное сообщение от nice
Lord Skill
Достаточно сетевушку переставить, и на другом компе тоже будет работать, а можно прошивку перезаписать и одна и та же прога будет работать на 2-ух сетевых и более.
Хочешь привизать используй или BIOS или HDD:
GetVolumeInformation вернет серийный номер ндд

a mozhet byt' ty podelishsja tem kak pereproshit' setevuhu?

lavalit 28.01.2004 12:21

Привет!
Вот тебе готовая прога на ВЭБЭ, которая определяет платформу, имя тома и серийный номерок НГМД.
Пользуйся на здоровие!!!

Option Explicit
Dim LfRet As String
Dim Kod As String

Private Sub Command1_Click()
Dim D$
txt_Resume = ""
D$ = "c:\"
Kod = PDisk(D$)
MsgBox Kod
End Sub


Public Function PDisk(D$)
LfRet = Chr(10) & Chr(13)

Dim Serial As Long, VName As String, FSName As String 'Create buffers
VName = String$(255, Chr$(0))
FSName = String$(255, Chr$(0))
'получаем информацию о диске
GetVolumeInformation D$, VName, 255, Serial, 0, 0, FSName, 255
'Strip the extra chr$(0)'s
VName = Left$(VName, InStr(1, VName, Chr$(0)) - 1)
FSName = Left$(FSName, InStr(1, FSName, Chr$(0)) - 1)

PDisk = LfRet & "Имя диска " & VName _
& LfRet & "Файловая система " & FSName _
& LfRet & "Серийный номер диска " & Trim(Str$(Serial))

End Function

не забудь декларировать в отдельном модуле :

Declare Function GetVolumeInformation Lib "Kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

С уважением, Lavalit


Часовой пояс GMT +4, время: 16:31.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.