Как узнать серийный номер CD-диска

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
oleg-ff
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 17.07.2003 (Чт) 12:31

Как узнать серийный номер CD-диска

Сообщение oleg-ff » 02.02.2004 (Пн) 11:43

Подскажите пожалуйста как я могу узнать серийный номер CD-диска в CD-Rom-е

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 02.02.2004 (Пн) 15:30

Вот тебе пример, тут и серийник, и всё остальное:
Код: Выделить всё
Dim Nm As String, Ser As Long, C As Long, Flags As Long, FSys As String
Dim ret As Long

Nm = Space$(255): FSys = Space$(255)
ret = GetVolumeInformation(Drive1.Drive & "\", Nm, 255, Ser, C, Flags, FSys, 255)
If ret <> 0 Then
  Text1.Text = Text1.Text & "Имя диска: " & Trim$(Nm)
  Text1.Text = Text1.Text & vbCrLf & "Серийный номер: " & Hex$(Ser) & vbCrLf
  Text1.Text = Text1.Text & "Макс. длина имени файла: " & C & vbCrLf
  Text1.Text = Text1.Text & "Файловая система " & Trim$(FSys)
  Text1.Text = Text1.Text & vbCrLf
  If Flags And FS_CASE_IS_PRESERVED Then Text1.Text = Text1.Text & "Сохранение регистров в именах файлов" & vbCrLf
  If Flags And FS_CASE_SENSITIVE Then Text1.Text = Text1.Text & "Различие регистров в именах файлов" & vbCrLf
  If Flags And FS_UNICODE_STORED_ON_DISK Then Text1.Text = Text1.Text & "Имена файлов хранятся в Unicode" & vbCrLf
  If Flags And FS_PERSISTENT_ACLS Then Text1.Text = Text1.Text & "Поддержка списков управления доступом (ACL)" & vbCrLf
  If Flags And FS_FILE_COMPRESSION Then Text1.Text = Text1.Text & "Поддержка сжатия файлов" & vbCrLf
  If Flags And FS_VOL_IS_COMPRESSED Then Text1.Text = Text1.Text & "Том сжат" & vbCrLf
Else
  MsgBox "Нет доступа к устройству", vbCritical, "Ошибка"
End If

Drive1.Drive - это соответственно имя диска (без слеша), а в функцию нужно передовать обязательно со слешем.
Нет ничего невозможного для человека с интеллектом.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 17

    TopList