欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

简单办法实现C++程序中的老板键功能:包括万能老板键和隐藏固定程序的老板键。

最编程 2023-12-31 12:11:42
...

用简单的办法在c++程序做一个老板键(万能老板键和隐藏固定程序的老板键)
我对这些并不值很了解但是我觉得这样做对于第一次做老板键的人来说比较简单,至少没有那么多麻烦的函数名和用法

首先,要在c++中获得句柄(handle).

可以这样写来获取最前端的窗口的句柄

HWND hwnd;//定义hwnd为HWND类型,也就是一个句柄
hwnd=GetForegroundWindow();//获取最前端的窗口的句柄

然后可以用ShowWindow函数来隐藏
比如:

ShowWindow(hwnd,0);//将hwnd这个句柄指向的窗口隐藏
ShowWindow(hwnd,0);//将hwnd这个句柄指向的窗口显示

然后,我们需要检测热键,比如F1等等,可以用GetAsyncKeyState函数来判断是否摁下热键。
用这个函数的原因是因为这个能判断函数调用时指定虚拟键的状态,也就是说可以后台检测,不想getch,cin,scanf,getchar之类的程序要在最前端才能输入

#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME)&0x8000)?1:0)

//在键盘上摁下不能直接输出的,比如F1,F2,方向键等等需要这样:
if(KEY_DOWN(VK_F1))//检测F1是否被按下
if(KEY_DOWN(VK_UP))//检测↑键是否被按下
//在键盘上摁下能直接输出的,比如A,B,C,1,2,3等等直接这样(当然,用VK也可以):
if(KEY_DOWN('A'))//检测A是否被按下
if(KEY_DOWN('1'))//检测1是否被按下

常用的VK值表:(摘自百度百科)
VK_SHIFT:Shift键
VK_LSHIFT : 左Shift键
VK_RSHIFT : 右Shift键
VK_CONTROL : Ctrl键
VK_LCONTROL : 左Ctrl键
VK_RCONTROL : 右Ctril键
VK_MENU :Alt键
VK_LMENU: 左Alt键
VK_RMENU :右Alt键
VK_LBUTTON :鼠标左键
VK_RBUTTON: 鼠标右键
VK_ESCAPE: ESC键
VK_RETURN:回车键
VK_TAB&