BOOL Gen(HWND hWnd)
{
if(GetDlgItemText(hWnd, IDC_INFIELD1, sInfield1, sizeof sInfield1))
{
int result = 0;
int serial = 0;
int count = 0;
int nbrChar = 0;
char Chaine[32];
char ChaineSerial[32];
long algo1[32] = {0xD5, 0x00, 0xF7, 0x24, 0x5D, 0x5C, 0x0A, 0x8C,
0x10, 0xD6, 0x9E, 0xB5, 0x9C, 0x66, 0x00, 0x24, 0x6F, 0x20, 0x44, 0x4D,
0xD4, 0x63};
for(int i = 0; i < sizeof(Chaine);i++){
Chaine[i] = 0;
}
for(int i = 0; i < sizeof(ChaineSerial);i++){
ChaineSerial[i] = 0;
}
for(nbrChar = 0;sInfield1[nbrChar] != 0;nbrChar++){
}
for(int count2 = 0; count2 < nbrChar; count2++)
{
result = algo1[count2] ^ sInfield1[count2];
serial += result << count2;
}
for(int i = 0;serial > 0; i++){
Chaine[i] = ((serial % 10)+48);
serial = serial / 10;
}
count = 0;
for(int i = 0;Chaine[i] != 0;i++){
count++;
}
for(int i = 0;i < count;i++){
ChaineSerial[count-i-1] = Chaine[i];
}
if(nbrChar >= 10){
SetDlgItemText(hWnd, IDC_OUTFIELD1, ChaineSerial);
}
else
{
SetDlgItemText(hWnd, IDC_OUTFIELD1, "Entrez plus de 10 caractères");
}
SetStatusText(hWnd, TEXT("© - Krom - 2007"));
return TRUE;
}
else {
SetStatusText(hWnd, TEXT("© - Krom - 2007"));
SetDlgItemText(hWnd, IDC_OUTFIELD1, 0);
return FALSE;
}
}