Я хочу, чтобы c ++ установил развернутое приложение Windows, которое проверило бы аппаратный отпечаток (чтобы убедиться, что пользователь будет использовать приложение только на своем компьютере). После некоторых сетевых исследований я решил, что WMI - это мой инструмент. Я начал с простого приложения MFC и для начала хотел распечатать MotherBoard SerialNumber. И как раз в этот момент все рухнуло. Я проверил на XP и Win7, и это свойство не возвращается. И это заставило меня задуматься - а что, если есть некоторые классы / свойства, которые не будут работать в определенных версиях Windows? Или какие-то аппаратные конфигурации? Мне искренне это не нравится. Мое мгновенное представление об отпечатке пальца - это MAC-адрес (мое приложение строго управляется сетью, поэтому, если у машины нет сетевого соединения, оно вообще не используется). Однако некоторые машины могут иметь несколько MAC-устройств. И некоторые из MAC могут быть виртуальными, которые могут исчезнуть из системы после удаления (то есть VPN-клиент). Я думаю, что MAC-адрес может быть легко изменен, но если я хэш-код номер, пользователь может не понять, что его использовать. Поэтому я прошу вашего совета - является ли WMI хорошим инструментом для идентификации оборудования? Если это так - какие классы / свойства вы бы предложили использовать? Они должны работать на всех машинах и системах, а также быть безопасными / неизменяемыми в одно и то же время (хорошо, мы не сможем многое сделать, если пользователь изменит все оборудование ..) Если WMI не является хорошим решением, чем бы вы предложили какую-либо другую платформу C ++ ? И следующее - какие свойства HD использовать тогда.