Привет я пытаюсь записать апплет Java, который получит некоторую твердую информацию об изделии, MAC-адрес (который я сделал), cpuid порядковый номер материнской платы и порядковый номер жесткого диска. Я знаю, что должен использовать jna, чтобы сделать это. Мой вопрос, существует ли путь в c/c ++ для получения той информации, которая не является зависимым платформы? Все, что я видел, работало бы только над окнами, и мне нужен он для работы над всеми платформами. Мне нужна эта информация, таким образом, я могу создать уникальный идентификатор того компьютера. любая справка или точка в правильном направлении очень ценились бы.
У меня вопрос, есть ли в c / c ++ способ получить эту информацию, не зависящую от платформы?
Невозможно. Черт возьми, на том же рынке ПК, например, Версия BIOS отличается от одного производителя / OEM-производителя MB. И что если на ПК все еще есть BIOS - не более новый EFI.
Sun / SPARC являются заметным исключением: их H / W имеет относительно уникальный идентификатор, который используется в основном для инвентаризационных целей. Он не совсем уникален (что вызывает еще один момент), поскольку это может означать конфиденциальность, и у Sun не было другого выбора, кроме как убедиться, что он не уникален в глобальном масштабе.
IOW уникальная идентификация оборудования является незаконной во многих частях мира, поэтому не существует надежного (наименее переносимого) метода для достижения желаемого.
Я бы сказал, что привязка к MAC-адресу уже должна быть достаточно хорошей. И эта информация довольно легко доступна практически на всех платформах. Пока ваша проверка лицензии будет достаточно мягкой, чтобы у пользователя было достаточно времени для получения нового лицензионного ключа (в случае замены оборудования), проблем должно быть немного.