Как я могу прочитать серийный номер драйвера диска в оконной системе?

0

Я использую CreateFile(), чтобы узнать информацию об устройстве. Но некоторые ПК работают, некоторые не работают? Кто-нибудь встречал эту проблему? следующий код:

sprintf(TempDriveName,"\\\\.\\PHYSICALDRIVE%d",ucDriveIndex);
hDevice=CreateFile(TempDriveName,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_SYSTEM,NULL);
Теги:
device

1 ответ

1
Лучший ответ

Поскольку пользователи Windows, как правило, запускают все как администратор, Microsoft заблокировала по своей сути опасные вещи (например, открытие физического диска для сырой записи), чтобы даже администраторы не могли их выполнять. Вам нужно запросить повышение UAC, когда вы получите эту ошибку при запуске в качестве администратора.

  • 0
    Вы на что-то там. OP должен сравнивать настройки UAC среди машин, которые работают, и тех, которые не работают.
  • 0
    Да, в этом все дело. Я нашел решение для моего случая. В моем проекте vs2008 настройте свойства проекта - Linker - Файл манифеста - Уровень выполнения UAC (самый высокий доступный). После этого программа работает нормально. Спасибо, парни!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню