В основном я использую блокировку HWID для блокировки моей программы, но у меня возникла проблема, когда моя программа принимает любое значение в acceptSerial_2. Вот код, пожалуйста, помогите мне сделать улучшения, Спасибо! Очевидно, что когда я запускаю программу, принятые серийные номера не равны 0, они соответствуют реальным значениям
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
std::cout << ":: Verifying HWID \n " << std::endl;
TCHAR volumeName[MAX_PATH + 1] = { 0 };
TCHAR fileSystemName[MAX_PATH + 1] = { 0 };
DWORD serialNumber = 0;
DWORD maxComponentLen = 0;
DWORD fileSystemFlags = 0;
if (GetVolumeInformation(
_T("C:\\"),
volumeName,
ARRAYSIZE(volumeName),
&serialNumber,
&maxComponentLen,
&fileSystemFlags,
fileSystemName,
ARRAYSIZE(fileSystemName)))
{
DWORD acceptedSerial = 0; //
DWORD acceptedSerial_1 = 0; //
DWORD acceptedSerial_2 = 0; //
if (serialNumber == acceptedSerial || acceptedSerial_1 || acceptedSerial_2)
{
MessageBox::Show("Access Granted!",
"Welcome",
MessageBoxButtons::OK,
MessageBoxIcon::Exclamation);
return(0);
}
else
{
MessageBox::Show("HWID Missmatch",
"Error",
MessageBoxButtons::OK,
MessageBoxIcon::Error);
exit(0);
}
}
}```