Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Заводской номер сата-винта?
 
 автор: Nadin   (18.02.2008 в 20:25)   личное сообщение
 
 

Может кто-нибудь знает как его прочитать?
Спасибо.

  Ответить  
 
 автор: k@s   (18.02.2008 в 21:04)   личное сообщение
 
 

Может это поможет.
Public Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" _
(ByVal lpRootPathName As Long, 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

Public Function SerialVolume() As String
Dim a As String
Dim b As String
Dim s As Long
Dim ml As Long
Dim fl As Long

a = Chr(0) & String(255, " ")
b = Chr(0) & String(255, " ")

GetVolumeInformation 0, a, Len(a), s, ml, fl, b, Len(b)
If s < 0 Then s = -s 'на некоторых машинах номер винта - отрицательное значение

SerialVolume = s
End Function

  Ответить  
 
 автор: Nadin   (18.02.2008 в 23:35)   личное сообщение
 
 

Спасибо, только это не поможет.
Мне нужен заводской номер винта при сата-подключении а не логического диска С на этом винте.
Если тему закрыли, значит прочитать нельзя никак?

  Ответить  
 
 автор: ДрЮня   (18.02.2008 в 23:50)   личное сообщение
 
 

вот такое не поможет?

===================================================================
Как узнать реальный заводской номер физического диска или дискеты или CD,
не номер метки тома (он меняется при каждом форматировании носителя)
а заводской серийник который записиваеться производителем и никогда не меняеться.

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

arrComputers = Array("localhost")
For Each strComputer In arrComputers
WScript.Echo
WScript.Echo "=========================================="
WScript.Echo "Computer: " & strComputer
WScript.Echo "=========================================="

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMedia", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)

For Each objItem In colItems
WScript.Echo "SerialNumber: " & objItem.SerialNumber
WScript.Echo
Next
Next
===================================================================

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList