Я хочу настроить свое приложение Windows Form на C # так, чтобы перед запуском приложения оно определяло совпадение серийного номера жесткого диска текущего компьютера. Если серийный номер жесткого диска совпадает с настроенным серийным номером, приложение запускает приложение, в противном случае ничего не делает.
Я хочу запустить его только на одном компьютере, чтобы предотвратить распространение приложения, потому что это настраиваемое приложение, разработанное только для клиента с некоторыми особыми требованиями.
Следующий код получает серийный номер жесткого диска текущего компьютера, модель и тип интерфейса.
ManagementObjectSearcher moSearcher = new ManagementObjectSearcher("select * from Win32_DiskDrive");
foreach (ManagementObject wmi_HDD in moSearcher.Get())
{
HardDrive hdd = new HardDrive();
hdd.Model = wmi_HDD["Model"].ToString();
hdd.SerialNo = wmi_HDD["SerialNumber"].ToString();
hdd.Type = wmi_HDD["InterfaceType"].ToString();
HDDArrayList.Add(wmi_HDD);
txtHDDModel.Text = hdd.Model;
txtHDDSerialNo.Text = hdd.SerialNo;
txtHDDType.Text = hdd.Type;
}
Этот код в настоящее время запускается по нажатию кнопки. Я хочу, чтобы он запускался до того, как основной метод может получить текущий серийный номер жесткого диска машины и сравнить его с моим целевым серийным номером (тем, который я хочу разрешить).
Есть ли лучший подход для этого, а также для процесса сравнения?
Form1_Load
. - person Amine Messaoudi   schedule 14.06.2019form_load event
, где я сравнил серийный номер жесткого диска текущей машины со строкой, и у меня это не сработало. - person teccraft   schedule 14.06.2019