#include "main.h"
int WINAPI WinMain(
HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdLine, int nCmdShow ) {
CDF cdf; // un'istanza d'un oggetto della classe per la codifica
HWND hwnd;
srand( GetTickCount() ); // inizializza il generatore di numeri pseudocasuali
if( (hwnd = CreaFinestraPrincipale(hInst)) == NULL )
{ Errore( "Finestra non creata." ); return 0; }
if( SetWindowLong(hwnd,GWL_USERDATA,(LONG)&cdf) )
{ Errore( "Finestra non inizializzata." ); return 0; }
ShowWindow( hwnd, nCmdShow );
CaricaChiave( hwnd );
if( *cmdLine != '\0' ) CaricaDati( hwnd, cmdLine );
MSG msg = {0};
while( GetMessage(&msg, NULL, 0, 0) > 0 ) {
if( !IsDialogMessage(hwnd,&msg) ) {
TranslateMessage( &msg );
DispatchMessage( &msg );
}
}
return 0;
}
BOOL CALLBACK DlgMain(HWND hwnd, UINT msg, WPARAM wPar, LPARAM lPar) {
switch( msg ) {
case WM_COMMAND: {
switch( LOWORD(wPar) ) {
case kIDPulsCaricaCod:
CaricaDati( hwnd, kCDFInChiaro );
break;
case kIDPulsCaricaDec:
CaricaDati( hwnd, kCDFCodificati );
break;
case kIDPulsAggChiave:
CaricaChiave( hwnd );
break;
case kIDPulsCodifica:
Codifica( hwnd );
break;
case kIDPulsDecodifica:
Decodifica( hwnd );
break;
default:
break;
}
} return TRUE;
case WM_CLOSE: {
PostQuitMessage(0);
} return TRUE;
default:
return FALSE;
}
}