C++ 通过按键制作开/关控制台程序

C++ 通过按键制作开/关控制台程序,c++,keyevent,C++,Keyevent,我编写了一个简单的控制台应用程序,我想通过按键来控制它 这是我的代码: #include "stdafx.h" #include <windows.h> int i = 1; BOOL WINAPI ConsoleHandlerRoutine(DWORD dwCtrlType) { if (dwCtrlType == CTRL_CLOSE_EVENT) { i = 0; return TRUE; } return FA

我编写了一个简单的控制台应用程序,我想通过按键来控制它 这是我的代码:

#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);
    }

}
#包括“stdafx.h”
#包括
int i=1;
BOOL WINAPI控制台句柄例程(DWORD dwCtrlType)
{
如果(dwCtrlType==CTRL\U CLOSE\U事件)
{
i=0;
返回TRUE;
}
返回FALSE;
}
int _tmain(int argc,_TCHAR*argv[]
{
BOOL ret=SetConsoleCtrlHandler(ConsoleHandlerRoutine,TRUE);
而(i==1){
SetCursorPos(200200);
鼠标事件(鼠标事件右下|鼠标事件右上,0,0,0);
SetCursorPos(205205);
鼠标事件(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0);
鼠标事件(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0);
}
}

当控制台窗口未激活时,如何使程序在键盘上启动和停止?

允许程序在非激活程序时知道您正在键入的内容是一种非常侵入性的情况

不过,你可以用它来做

回调函数需要具有