| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Как Определить сер номер материнки и процессора? |
| Автор: VictorBondarenko 4.11.2006, 11:00 |
| Уважаемые дузья! Подскажите пожалуйста, как из проги на Delphi определить серийный номер процессора и материнки. С благодарностью и уважением, Виктор |
| Автор: Snowy 4.11.2006, 12:28 |
| Эта функция поддерживается не всеми процессорами. Для получения информации о процессоре (в т.ч. серийного номера, если это поддерживается) есть такой компонент: http://www.torry.net/vcl/system/cpu/acpuid.zip Материнка - не есть цельное устройство. Получить её серийный номер нельзя. Но можно получить серийный номер BIOS'a - в FAQ есть пример. |
| Автор: VictorBondarenko 8.11.2006, 14:57 |
| Уважаемый Модератор! Я посмотрел компонент acpuid, о котором Вы написали, но при его компиляции возникает ошибка. Система не находит юнит DsgnIntf. Есть в компоненте такая строка: uses ..... , DsgnIntf; Может чего-нибудь присоветуете? С благодарностью и уважением, Виктор |
| Автор: Alexeis 8.11.2006, 15:39 |
А знаю, этот модуль требуется в старых версиях делфи. Нужно поискать компонентик для вашей версии. |
| Автор: Alexeis 8.11.2006, 16:38 |
| Snowy, Я пробовал решить эту проблему. Тут самый тяжелый случай совмещения DisignTime и RunTime. Как пишут тут http://community.borland.com/article/27717 Требуется разделение модуля на две части (DisignTime и RunTime отдельно). Т.е. нужно перелопатить весь модуль. Это довольно сложно. Кроме того в одной из ассемблерных вставок применяется оператор dw его нужно заменить на обычную переменную типа word c тем же именем. |
| Автор: Albinos_x 8.11.2006, 16:45 |
| примеров получения серийника проца в интернете полно... вот к примеру один из них (см. прикреплёный файл) Добавлено @ 16:53 ещё http://delphiworld.narod.ru/base/get_cpu_info.html |
| Автор: VictorBondarenko 8.11.2006, 19:32 |
| Чего-то не скачивается присоединенный "Albinos X" файл почему-то говорит, что Эта функция запрещена для Гостей, хотя я участник. Виктор |
| Автор: Snowy 8.11.2006, 19:36 |
| Перезалил сюда: http://slil.ru/23373217 И этот вариант у меня не даёт ничего. Выдал серийник 0000-0000-0000-0000-0000-0000 Не поддерживает мой проц (XP2500+) выдачу номера. |
| Автор: VictorBondarenko 9.11.2006, 21:16 |
| Но если все так мрачно, что где-то s/n проца определяется, а где-то нет, если s/n BIOSa из $FEC71 для 98 читается, а для ХР нет, если в реестре, который читается в ХР не содержится s/n BIOSa, если s/n материнки можно прочитать только на коробке, то что же тогда есть в железе фундаментального и уникального которое бы всегда было и программно читалось чтобы можно было бы привязать прогу к компу? Может быть сер.ном. модуля памяти, сер ном. монитора, сер. ном. памяти на видеокарте, сер.ном. винта? Наверняка кто-то уже такую задачу решал и не один раз. С уважением и признательностью за любые соображения, Виктор |
| Автор: Albinos_x 10.11.2006, 22:24 |
| по ссылке смотрели? тоже не работает? можно использовать, только вот для SATA винтов нормального алгоритма е нашёл... для обычных пример есть в DRKB... |
| Автор: Burm 11.11.2006, 09:49 |
| Пример получения серийного номера винта есть в DRKB, сам попробовал - вроде на всех машинах работает. |
| Автор: Albinos_x 13.11.2006, 15:49 |
здесь подтвердение: http://forum.vingrad.ru/topic-115197.html |
| Автор: ArtemRubtsov 13.11.2006, 22:34 |
| серийный номер на мать можно вытащщить из БИОСа (если серийник там есть, обычно нет) из под 2000/ХР нужно писать процедуру доступа к физической памяти, пример точно есть на каком-то сайте по Delphi |