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

标签 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 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);
    }

}

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

最佳答案

允许一个程序在它不是事件程序时知道你在输入什么是一个非常具有侵入性的场景。

不过你可以用 SetWindowsHookEx 做到这一点.

回调函数需要有this signature .

关于c++ - 通过按键制作开/关控制台程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14914517/

相关文章:

java - JTextArea 上的 KeyEvent 问题

javascript - 创建类似这样的网站需要什么?

java - 如何在 Android 软键盘上获取 '.' 点字符 KeyPressEvent

c++ - 如何在 C++ 中声明和初始化 BigDecimal

c++ - 代码在不同平台上表现出不同的行为,请求解释

c++ - 如何使用模板继承访问基类的成员

java - 方括号的keycode是什么

Java——KeyPressed 事件后立即调用 KeyReleased

c++ - Matlab/C++ : segmentation fault on parallel computing with C++ Mex persistent objects (cannot convert handle)

javascript - V8:实现相等测试