|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.04.2008, 17:48 | #1 |
Пользователь Подтвердите свой е-майл
Регистрация: 26.03.2008
Сообщений: 42
|
Серийный номер физ. диска
Подскажите пожалуйста как можно узнать серийник физического диска(винта,флешки), не раздела, а "Железа".
|
29.04.2008, 18:01 | #2 |
Форумчанин
Регистрация: 29.03.2008
Сообщений: 300
|
Кинь на форму Label1 и по нажатию кнопки:
Код:
Карп преодолевший водопад становится драконом.
Последний раз редактировалось N!ckeL; 29.04.2008 в 18:04. |
02.05.2008, 14:37 | #3 |
Пользователь Подтвердите свой е-майл
Регистрация: 26.03.2008
Сообщений: 42
|
Это ведь серийный номер раздела, т.е. дисков C,D,E и т.д.
А нужен серийный номер Физического диска, того, на котором находятся разделы C,D,E. Если вместо pathname:=pchar('C:\'); написать pathname:=pchar('\\.\PHYSICALDRIVE0 '); То getvolumeinformation возвращает ошибку. Я как- то встречал программы которые выводили именно этот серийный номер(для '\\.\PHYSICALDRIVE0'), а не серийный номер раздела. А из Delphi его можно получить? Последний раз редактировалось mihali4; 29.11.2009 в 19:49. |
03.05.2008, 01:02 | #5 |
Пользователь Подтвердите свой е-майл
Регистрация: 26.03.2008
Сообщений: 42
|
Спасибо B_N за ссылку, это хоть что- то.
Хотя C я, можно сказать, совсем незнаю, а понимаю только тот код, который хоть немного похож на паскаль. Выбора у меня нет, поэтому я начал переводить из C на паскаль. Поскольку понятно далеко не всё, помогите пожалуйста перевести. На сколько мне показалось, именно этот код выводит инфо о диске. Вот код который я перевёл: Код:
Последний раз редактировалось Jupiter; 03.05.2008 в 01:46. Причина: Исправление текста |
03.05.2008, 01:12 | #6 |
Пользователь Подтвердите свой е-майл
Регистрация: 26.03.2008
Сообщений: 42
|
Продолжение:
Код:
Перевожу этот код: http://www.winsim.com/diskid32/diskid32.cpp помогите пожалуйста перевести и исправить ошибки. Заранее спасибо. Последний раз редактировалось Jupiter; 03.05.2008 в 01:25. Причина: Нужно дописать текст |
03.05.2008, 01:24 | #7 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Цитата:
|
|
03.05.2008, 01:46 | #8 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Jupiter, не дублируйте посты. Собирайте порциями то, что непонятно, иначе получится страшная каша.
Эту Код:
Код:
|
03.05.2008, 02:45 | #9 |
Пользователь Подтвердите свой е-майл
Регистрация: 26.03.2008
Сообщений: 42
|
А что означают
"(PIDENTIFY_DATA) ((PSENDCMDOUTPARAMS)" в этом коде Код:
PIDENTIFY_DATA структуре возвращаются данные о диске, в том числе и серийник. Может ошибаюсь? Может не ту процедуру начал переводить? |
03.05.2008, 04:03 | #10 |
Пользователь Подтвердите свой е-майл
Регистрация: 26.03.2008
Сообщений: 42
|
Код:
это сишный код: Код:
Что значит в C "CTL_CODE(" и значения через запятую? Они складываются? нужно объявить константу: SMART_GET_VERSION которая будет равняться CTL_CODE(IOCTL_DISK_BASE, 0x0020, METHOD_BUFFERED, FILE_READ_ACCESS) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нет диска в устройстве | }{@TT@BЬ)Ч | Операционные системы общие вопросы | 7 | 20.01.2009 20:18 |
Скан диска | ZYRGiX | Win Api | 7 | 30.12.2007 14:05 |
Дефрагментация диска | Viteef | Софт | 8 | 06.12.2007 23:33 |
Имя и номер | KAMASUTR | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 10.08.2007 22:26 |