Member 13840009 Ответов: 3

В C# как получить серийный номер CD, DVD и blu-ray дисков


Uing C# и .Net Framework, как я могу получить уникальный серийный номер CD-диска, DVD-диска и Blu-ray-диска. Используя два разных коммерческих программного обеспечения, я получаю два разных серийных номера для одних и тех же компакт-дисков. Например, программное обеспечение 1 дает 2871-B669, а программное обеспечение 2 дает 678540905 для CD 1. Программное обеспечение 1 дает 0E69-FCAC, а программное обеспечение 2 дает 241826988 для CD 2. Я даже не знаю, что является правильным. Было бы неплохо иметь пример программы на языке C# и/или примеры кода. Заранее спасибо.

Что я уже пробовал:

Часами рыскал в интернете и пробовал разные программы. Поиск библиотеки C#, которая обрабатывает информацию о CD, DVD и Blu-ray.

3 Ответов

Рейтинг:
20

MadMyche

В статье, приведенной ниже, обсуждаются и приводятся примеры кода для Информация О Системном Томе; который имеет доступное свойство серийного номера.
Получение информации о Томе диска с помощью C#[^]

Как за 2 разных SNS от 2 разных приложения... Калькулятор Windows (в режиме программистов) покажет, что это десятичные и шестнадцатеричные значения


Рейтинг:
15

Dave Kreskowiak

Вы не получите серийный номер диска. Вы получаете серийный номер тома, что довольно бессмысленно.

Вы можете увидеть то же самое на любом другом диске. Откройте командную строку и введите "DIR | MORE". В верхней части окна вы увидите серийный номер тома для Тома C:.

Серийный номер тома не гарантирован быть уникальным в любом смысле. Один диск может содержать несколько томов, каждый из которых имеет свой серийный номер.

Еще лучше, сделайте призрак (секторное копирование) диска, и у вас может быть два диска с точно такими же серийными номерами томов, поэтому вы не можете использовать его для уникальной идентификации машины.


Member 13840009

Если бы я провел тест с использованием 10 различных компакт-дисков, некоторые из них были коммерческими дисками программного обеспечения, а другие-компакт-дисками, которые я записал. Каждый компакт-диск отображал уникальный номер, используя предложенную вами команду "DIR | MORE", и я получил те же результаты, используя коммерческую программу.Затем я произвольно прошел через тот же набор из 10 компакт-дисков, получил точно такой же уникальный номер для того же самого диска, что и в первый раз, когда я пробежался по ним. Мне кажется, что это настоящий серийный номер диска, как вы думаете?

Dave Kreskowiak

Я уже сказал тебе, на что ты действительно смотришь.

Теперь возьмите несколько копий одного и того же диска и посмотрите на серийный номер тома.

Переформатируйте диск или USB-накопитель, и вы получите другой серийный номер тома на том же носителе.

Member 13840009

Дэйв, вот тест, который я провел, используя 4 разных компьютера, некоторые под управлением Windows 7 и некоторые под управлением Windows 10, с различными типами CD/DVD приводов и 6 различных компакт-дисков, некоторые коммерческие, а некоторые я сжег сам. Для каждого компакт-диска я получил точно такой же серийный номер тома (серийный номер) на каждой машине. Это говорит мне о том, что номер физически находится где-то на компакт-диске и не связан с приводом или компьютером. Таким образом, на всех закрытых компакт-дисках серийный номер тома не изменяется.

Насколько они уникальны, я не знаю, однако, посмотрев несколько десятков, я еще не наткнулся ни на один дубликат. Я планирую загрузить 400+ компакт-дисков в базу данных, извлечь серийный номер тома в качестве серийного номера, а затем искать дубликаты.

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

Затем, для полноты картины, я взял CD-RW, отформатировал его, скопировал на него данные и проверил серийный номер тома. Затем я переформатировал его, скопировал данные и перепроверил серийный номер тома. Серийный номер тома изменился, как вы и говорили. Однако до тех пор, пока я не переформатирую CD-RW, он остается неизменным на всех машинах.

Спасибо за ваше время и терпение с этим. Я дам вам знать, что я узнаю после загрузки 400+ компакт-дисков.

Dave Kreskowiak

Если компакт-диски доступны только для чтения и все с уникальным содержимым на них, все они будут иметь разные серийные номера томов. Опять же, это не серийный номер диска. Получите 10 изготовленных копий одного и того же диска, и все они будут иметь точно такой же серийный номер тома.

Опять же, серийный номер тома нельзя использовать для однозначной идентификации диска или машины. Считайте, что вы предупреждены.

Кроме того, серийный номер тома является 32-разрядным значением. Вероятность столкновения двух разных серийных номеров томов составляет примерно 1 к 10 при примерно 30 000 томах. Я не думаю, что у вас возникнут проблемы с 400 дисками, но имейте в виду, что ваш шанс составляет примерно 1 из 50 000.

Рейтинг:
11

Richard MacCutchan

Одно приложение отображает значение в десятичной системе счисления, а другое-в шестнадцатеричной системе счисления. подтверждено с помощью калькулятора Windows в режиме программатора.