Я хочу настроить приложение 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;
}
Этот код в данный момент выполняется нажатием кнопки. Я хочу, чтобы он работал до основного метода, он может получить текущий серийный номер жесткого диска машины и сравнить его с моим целевым серийным номером (тот, который я хочу разрешить).
Есть ли лучший подход для этого, а также для процесса сравнения?