.


:




:

































 

 

 

 





 

, , . Windows ReadConsoleA

BOOL ReadConsoleA(HANDLE hConsInput, VOID* buffer, DWORD len,

DWORD actlen, VOID* reserved);

. ( ) GetStdHandle STD_INPUT_HANDLE. buffer , len ( buffer). actlen , . ( \n). reserved NULL.

#include <windows.h>

#include <string.h>

#include <stdio.h>

void main()

{char prompt[]="Input any text string:\n";

char text[120]="\nInputing string:\n";

char buffer[80];

DWORD actlen;

HANDLE hstdout,hstdin;

hstdout=GetStdHandle(STD_OUTPUT_HANDLE);

if(hstdout==INVALID_HANDLE_VALUE)

{printf("Error GetStdHandle\n");exit(-1);}

hstdin=GetStdHandle(STD_INPUT_HANDLE);

if(hstdin==INVALID_HANDLE_VALUE)

{printf("Error GetStdHandle\n");exit(-1);}

WriteConsoleA(hstdout,prompt,sizeof(prompt),&actlen,NULL);

ReadConsoleA(hstdin,buffer,80,&actlen,NULL);

buffer[actlen]='\0';

strcat(text,buffer);

WriteConsoleA(hstdout,text,strlen(text),&actlen,NULL);

getchar();

CloseHandle(hstdout);

ExitProcess(0);

}

. Windows , . , , (event), . . ( , : , , ..). , . , , , . Windows . ,

Typedef struct _INPUT_RECORD

{ WORD EventType;

Union

{ KEY_EVENT_RECORD KeyEvent;

MOUSE_EVENT_RECORD MouseEvent;

WINDOW_BUFFER_SIZE_RECORD MenuEvent;

FOCUS_EVENT_RECORD FocusEvent;

} Event;

} INPUT_RECORD, *PINPUT_RECORD;

EventType, KEY_EVENT, MOUSE_EVENT, WINDOW_BUFFER_SIZE_EVENT, EVENT, FOCUS_EVENT. , , , , KEY_EVENT. , (unit) KEY_EVENT_RECORD KeyEvent. , KEY_EVENT_RECORD





:


: 2016-12-06; !; : 588 |


:

:

- , , .
==> ...

1878 - | 1656 -


© 2015-2024 lektsii.org - -

: 0.011 .