creater |
Отправлено: 30.09.2003, 19:15 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 120
|
Народ, подскажите как проделать сие?
А то все мои поиски в инете не ушли дальше WinAPI-функций
GetCurrentHwProfile
GetKeyboardType
GetSysColor
GetSystemInfo
GetSystemMetrics
GetThreadDesktop
GetVersionEx
IsProcessorFeaturePresent
SystemParametersInfo
и то из всего этого удалось найти во всех хэлпах по винАпи только GetKeyboardType (ну может еще чего по интерфейсу, короче не то что нужно).
Хотелось бы узнать, как например считать серийник винта, инфу о материнке и тэ дэ и тэ пэ и хттпэ.
Заране большое спасибо. |
|
creater |
Отправлено: 02.10.2003, 17:40 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 120
|
Всем спасибо за ответы. Ответы найдены
ЗЫ: Кто ищет, тот всегда найдет ... |
|
creater |
Отправлено: 03.10.2003, 21:37 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 120
|
И все-таки как же считать, допустим, заводской серийник винта???
|
|
creater |
Отправлено: 03.10.2003, 21:44 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 120
|
И все-таки как же считать, допустим, заводской серийник винта???
|
|
sanatoliy |
Отправлено: 06.10.2003, 16:01 |
|
Не зарегистрирован
|
узнать номер HDD
char VolumeName[255], FileSystem[255];
unsigned long SerialNumber, MCLength, SystemFlags;
AnsiString VolumeSerial;
if (GetVolumeInformation("C:\\", VolumeName, 254, &SerialNumber, &MCLength, &SystemFlags, FileSystem, 254))
{
VolumeSerial = AnsiString(SerialNumber);
}
Удачи. |
|
Георгий |
Отправлено: 06.10.2003, 18:25 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
Нет — это не заводской номер HDD. Это номер раздела, который присвоен ему при форматировании. Проверить это очень легко — у всех разделов одного физического жёткого диска он (серийный номер) должен быть одинаковым, а простая проверка на моих 4-х разделах даёт следующие номера: 209016355, 423762401, 4161613667, 1467389760, что совпадает с теми номерами томов (разделов) которые выводит AIDA32. При этом заводской номер (выводимый AIDA32) VH46T1702S9A.
PS. тема как определить заводской номер HDD некоторое время назад поднималась, но было обнаружено, что или надо использовать специальные компоненты или работать с портами ATA HDD контроллера и посылать соответствующую команду. Правда возможно ли узнать эту информацию от драйвера HDD никто так и не сказал.
Отредактировано Георгий — 13/10/2003, 18:01 |
|
Иван |
Отправлено: 08.10.2003, 15:26 |
|
Машинист паровоза
Группа: Участник
Сообщений: 207
|
А информацию о модеме, кто-то знает как достать?
|
|
Asher |
Отправлено: 09.10.2003, 08:15 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
C модемом проще всего. АТ команды на СОМ-порт давай и смотри что отвечает.
В окошке свойств модема в винде можно посмотреть весь протокол обмена, даже с командами
|
|
Иван |
Отправлено: 10.10.2003, 16:38 |
|
Машинист паровоза
Группа: Участник
Сообщений: 207
|
Никогда с железом не работал ,поэтому если можно по-подробнее:
что за команды такие — АТ,и как их на COM порт
Может есть пример какой — нибудь.
|
|
creater |
Отправлено: 13.10.2003, 09:01 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 120
|
QUOTE (Георгий @ 06/10/2003, 19:27) | Нет — это не заводской номер HDD. Это номер раздела, который присвоен ему при форманировании. Проверить это очень легко — у всех разделов одного физического жёткого диска он (серийный номер) должен быть одинаковым, а простая проверка на моих 4-х разделах даёт следующие номера: 209016355, 423762401, 4161613667, 1467389760, что совпадает с теми номерами томов (разделов) которые выводит AIDA32. При этом заводской номер (выводимый AIDA32) VH46T1702S9A.
PS. тема как определить заводской номер HDD некоторое время назад поднималась, но было обнаружено, что или надо использовать специальные компоненты или работать с портами ATA HDD контроллера и посылать соответствующую команду. Правда возможно ли узнать эту информацию от драйвера HDD никто так и не сказал. |
Да, действительно, номера разделов Я давно прочитал ...
А вот относительно использования специальных компонент или работы с портами ATA HDD контроллера и посылки соответствующей команды. Есть ли какая-либо более подробная информация по этим вопросам? |
|
Георгий |
Отправлено: 13.10.2003, 09:27 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
ATA-2 команды есть в Михаиле Гуке — энциклопедия "Аппаратные средства IBM PC" — в издании от 1999 года это на странице 607 — даже так и называется — 8.5.2 "система команд".
Соответственно находим компонент для работы с портами ввода/вывода и насилуем свой любимый HDD, с помощью набора этих команд.
А ещё я видел коммерческий компонент (цена 300$), который мог сам говорить серийник винта, но мне цена не понравилась. |
|
creater |
Отправлено: 13.10.2003, 10:19 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 120
|
QUOTE (Георгий @ 13/10/2003, 10:29) | ATA-2 команды есть в Михаиле Гуке — энциклопедия "Аппаратные средства IBM PC" — в издании от 1999 года это на странице 607 — даже так и называется — 8.5.2 "система команд".
Соответственно находим компонент для работы с портами ввода/вывода и насилуем свой любимый HDD, с помощью набора этих команд.
А ещё я видел коммерческий компонент (цена 300$), который мог сам говорить серийник винта, но мне цена не понравилась. |
Если Вас не задруднит, можно как-нибудь получить скриншот этой замечательной странички 607?
|
|
Георгий |
Отправлено: 13.10.2003, 16:58 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
Издеваешся??
В принципе в книжном магазине не плохие скиншоты можно делать , главное, что бы злобные вирусы не мешали...
команда:
IDENTIFY DEVICE
код:
ECh
протокол:
PI
после чего из hdd надо считать 256 слов где слова # 10 — 19 серийный номер, если слово 10 не нулевое, иначе специфичная информация
чтобы записать эту команду надо поуправлять контроллером HDC.
канал 1 cs0 1F0-1F7 cs1 3F6-3F7 irq 14
канал 2 cs0 170-177 cs1 376-377 irq 15 или 10
канал 3 cs0 1E8-1EF cs1 3EE-3EF irq 12 или 11
канал 4 cs0 168-16F cs1 36E-36F irq 10 или 9
регистры контроллера HDC AT:
1F0 RW : регистр данных
1F1 R : регистр ошибок
бит 7: 1 = bad block — признак дефектного блока
бит 6: 1 = ECC error — неисправимая ошибка данных
бит 5: = 0
бит 4: 1 = сектор не найден
бит 3: = 0
бит 2: 1 = команда отвергнута
бит 1: 1 = ошибка поиска нулевого сектора
бит 0: 1 = адресный маркер данных не найден
1F7 W : регистр команд
1F7 R : регистр состояниия
бит 7: 1 = занято — выполянется команда
бит 6: 1 = готов к чтению/записи/поиску
бит 5: 1 = ошибка записи
бит 4: 1 = поиск завершён
бит 3: 1 = запрос данных
бит 2: 1 = исправлена ошибка данных
бит 1: 1 = датчик индексного отверстия
бит 0: 1 = ошибка завершения предыдущей команды
PS. думаю, что книжку купить было бы проще... |
|