C++ 输入按键名按下对应按键

简介: C++ 输入按键名按下对应按键
#include <windows.h>
#include <iostream>
#include <string.h>
using namespace std;
typedef struct KeyInfo {
  char *info;
  int key;
};
KeyInfo ki[200] = {
"回退", 0x08,
"TAB", 0x09,
"CLEAR", 0x0C,
"回车", 0x0D,
"SHIFT", 0x10,
"CONTROL", 0x11,
"MENU", 0x12,
"PAUSE", 0x13,
"CAPITAL", 0x14,
"KANA", 0x15,
"ESCAPE", 0x1B,
"CONVERT", 0x1C,
"NONCONVERT", 0x1D,
"ACCEPT", 0x1E,
"MODECHANGE", 0x1F,
"SPACE", 0x20,
"PRIOR", 0x21,
"NEXT", 0x22,
"END", 0x23,
"HOME", 0x24,
"LEFT", 0x25,
"UP", 0x26,
"RIGHT", 0x27,
"DOWN", 0x28,
"SELECT", 0x29,
"PRINT", 0x2A,
"EXECUTE", 0x2B,
"SNAPSHOT", 0x2C,
"INSERT", 0x2D,
"DELETE", 0x2E,
"HELP", 0x2F,
//数字
"0",0x30,
"1",0x31,
"2",0x32,
"3",0x33,
"4",0x34,
"5",0x35,
"6",0x36,
"7",0x37,
"8",0x38,
"9",0x39,
//字母
"a",0x41,
"b",0x42,
"c",0x43,
"d",0x44,
"e",0x45,
"f",0x46,
"g",0x47,
"h",0x48,
"i",0x49,
"j",0x4a,
"k",0x4b,
"l",0x4c,
"m",0x4d,
"n",0x4e,
"o",0x4f,
"p",0x50,
"q",0x51,
"r",0x52,
"s",0x53,
"t",0x54,
"u",0x55,
"v",0x56,
"w",0x57,
"x",0x58,
"y",0x59,
"z",0x5a,
"LWIN", 0x5B,
"RWIN", 0x5C,
"APPS", 0x5D,
"SLEEP", 0x5F,
"NUMPAD0", 0x60,
"NUMPAD1", 0x61,
"NUMPAD2", 0x62,
"NUMPAD3", 0x63,
"NUMPAD4", 0x64,
"NUMPAD5", 0x65,
"NUMPAD6", 0x66,
"NUMPAD7", 0x67,
"NUMPAD8", 0x68,
"NUMPAD9", 0x69,
"MULTIPLY", 0x6A,
"ADD", 0x6B,
"SEPARATOR", 0x6C,
"SUBTRACT", 0x6D,
"DECIMAL", 0x6E,
"DIVIDE", 0x6F,
"F1", 0x70,
"F2", 0x71,
"F3", 0x72,
"F4", 0x73,
"F5", 0x74,
"F6", 0x75,
"F7", 0x76,
"F8", 0x77,
"F9", 0x78,
"F10", 0x79,
"F11", 0x7A,
"F12", 0x7B,
};
BOOL PushBtn(int key)
{
  HWND hwnd = GetForegroundWindow();
  // HWND hwnd = GetActiveWindow();
  //调用方法:提升软件系统的权限
  SendMessage(hwnd, WM_KEYDOWN, (WPARAM)key, 0);
  return 0;
}
int main(int argc, char *argv[])
{
  char *tmp = argv[0];
  // 单个键
  if (argc == 1)
  {
    int m_key;
    for (int i = 0; i < 200; i++)
    {
      if (strcmp(tmp, ki[i].info))
      {
        m_key = ki[i].key;
        PushBtn(m_key);
      }
    }
  }
}
相关文章
|
C++
时间类-输入和输出(C++版本)
请设计时间类 MYTIME,它包含三个私有数据成员:hour, minute, second,均为整数,分别表示时、分、秒。让我们从这里起步,一步一步地完成一个功能完备的时间类,可以适用于处理任何程序中的时间数据。:时间的输出函数不得影响之后其它数据的输出。
227 0
时间类-输入和输出(C++版本)
|
编译器 C语言 C++
【C++要笑着学】关键字 | 命名空间 | 输入和输出(二)
本章将正式开始 C++ 的学习,将深入浅出地讲解。本篇将以 HelloWorld 开始,以 HelloWorld 结束。通过这段代码,讲解C++中的命名空间和输入与输出。话不多说,让我们开始吧
110 0
【C++要笑着学】关键字 | 命名空间 | 输入和输出(二)
|
编译器 C语言 C++
【C++要笑着学】关键字 | 命名空间 | 输入和输出(一)
本章将正式开始 C++ 的学习,将深入浅出地讲解。本篇将以 HelloWorld 开始,以 HelloWorld 结束。通过这段代码,讲解C++中的命名空间和输入与输出。话不多说,让我们开始吧
127 0
【C++要笑着学】关键字 | 命名空间 | 输入和输出(一)
|
编译器 C语言 C++
C++程序设计——命名空间、输入&输出、缺省参数
C++程序设计——命名空间、输入&输出、缺省参数
103 0
C++程序设计——命名空间、输入&输出、缺省参数
|
C++
【力扣·每日一题】1629. 按键持续时间最长的键 (C++ 模拟)
【力扣·每日一题】1629. 按键持续时间最长的键 (C++ 模拟)
45 0
【力扣·每日一题】1629. 按键持续时间最长的键 (C++ 模拟)
|
C语言 C++
C++——输入与输出及缺省参数
介绍C++的输入输出及缺省参数
161 0
C++——输入与输出及缺省参数
|
缓存 C++
C++中cin,getline,cin.getline::如何输入包括空格的字符串
C++中cin,getline,cin.getline::如何输入包括空格的字符串
349 0
|
存储 监控 C++
C++ 输入的是1.3变1.29999995问题
C++ 输入的是1.3变1.29999995问题
C++ 输入的是1.3变1.29999995问题