Windows.


: - 3


// /////////////////////////////////////////////

unsigned char Get_Ascii_Key(void)

{

// ,

// ASCII-. , 0.

if (_bios_keybrd(_KEYBRD_READY)) return(_bios_keybrd(_KEYBRD_READ)) ;

else return(0);

} //

////////////////////////////////////////////////////////

unsigned int Get_Control_Keys(unsigned int mask)

(

//

return(mask & _bios_keybrd(_KEYBRD_SHIFTSTATUS));

}// ////////////////////////////////////////////////////////

unsigned char Get_Scan_Code(void) (

// - //

_asm{

mov ah,01h ; 01h -

int 16h ;

jz empty ; - 䠠

mov ah,00h ; 0 - -

int 16h ;

mov al,ah ; AL

xor ah,ah ;

jmp done ;

empty:

xor ax,ax ; AX

done:

} //

} //

// ///////////////////////////////////////

void main(void)

{

unsigned char key;

int done=0;

unsigned int control;

_clearscreen(_GCLEARSCREEN);

while(!done)

{

_settextposition(2,0);

if ( (key = Get_Scan_Code()) ) printf("%c %d ",key,key);

// Ctrl Alt

if (Get_Control_Keys(CTRL))

printf("\ncontrol key pressed");

if (Get_Cbntrol_Keys(ALT))

printf("\nalt key pressed ");

if (key==16) done=1); // 16 - Q

}// while

} // main