0

簡単なコンソールアプリケーションを作成し、キーを押すことで制御したいコードがあります:

#include "stdafx.h"
#include <windows.h>

int i = 1;
BOOL WINAPI ConsoleHandlerRoutine(DWORD dwCtrlType)
{
    if (dwCtrlType == CTRL_CLOSE_EVENT)
    {
        i = 0;
        return TRUE;
    }
    return FALSE;
}

int _tmain(int argc, _TCHAR* argv[])
{
    BOOL ret = SetConsoleCtrlHandler(ConsoleHandlerRoutine, TRUE);
    while(i == 1){
    SetCursorPos(200, 200);
        mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
        SetCursorPos(205, 205);
        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    }

}

コンソールウィンドウがアクティブでないときに、キーボードを押したときにプログラムを開始および停止するにはどうすればよいですか?

4

1 に答える 1

1

アクティブなプログラムではないときに、入力している内容をプログラムに認識させることは、かなり煩わしいシナリオです。

ただし、SetWindowsHookExを使用してそれを行うことができます。

コールバック関数にはこのシグネチャが必要です。

于 2013-02-16T20:08:29.177 に答える