用简单的办法在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:TAB键
VK_SPACE:空格键
VK_UP:↑键
VK_DOWN:↓键
VK_LEFT:←键
VK_RIGHT:→键

于是,一个简单(垃圾)的万能老板键就写好了
注: 慎用F4,可能让之前隐藏的显示不了

//这里用F4~F7的原因是我用dev写的,防止快捷键冲突
#include<windows.h>
#include<bits/stdc++.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
int main()
{bool f=false;HWND hwnd;hwnd=GetForegroundWindow();//获取最前端的窗口的句柄ShowWindow(hwnd,0);while(1){if(KEY_DOWN(VK_F4))//获取要隐藏窗口的句柄{while (KEY_DOWN(VK_F4));//加这句的原因是防止按了太多次,导致一直隐藏/显示hwnd=GetForegroundWindow();Sleep(100);}if(KEY_DOWN(VK_F5))//隐藏{while (KEY_DOWN(VK_F5));ShowWindow(hwnd,f);f=1-f;Sleep(100);}if(KEY_DOWN(VK_F6))//退出{while (KEY_DOWN(VK_F6));return 0;}if(KEY_DOWN(VK_F7)){while (KEY_DOWN(VK_F7));ShowWindow(hwnd1,f2);f2^=1;}Sleep(20);}
}

针对的固定cpp程序隐藏,可以这样:

//编译为窗口隐藏.exe
#include<windows.h>
#include<bits/stdc++.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
int main()
{bool f=false;HWND hwnd;hwnd=GetForegroundWindow();ShowWindow(hwnd,0);//隐藏自身ifstream ifs_yincang("hwnd.txt");//在另一个程序中输出句柄到hwnd.txt中string s;getline(ifs_yincang,s);hwnd=(HWND)strtoul(s.c_str(),NULL,16);//这里很坑,HWND是十六进制的,c++强制转换转不了,要用strtoul转while(1){cout<<s<<" "<<hwnd<<endl;if(KEY_DOWN(VK_F8)){while (KEY_DOWN(VK_F8));ShowWindow(hwnd,f);f=1-f;Sleep(100);}Sleep(20);}
}
//在要隐藏的程序中这样,要使用时直接调用该函数
void yincang()//窗口隐藏
{system("taskkill -f -im 窗口隐藏.exe");HWND hwnd=GetForegroundWindow();ofstream ofs_yincang("hwnd.txt");ofs_yincang<<hwnd;system("start 窗口隐藏.exe");
}···//结尾最好加一句:
system("taskkill -f -im 窗口隐藏.exe");

至于为什么不直接在程序中加,一是我不会多线程,二是比如这样的程序:

while (1)
{if(KEY_DOWN(VK_F8)){while (KEY_DOWN(VK_F8));ShowWindow(hwnd,f);f=1-f;Sleep(100);}cin>>x;Sleep(100);
}

运行时发现热键经常无法检测,这应该是因为后面的cin>>x这句话,运行到这里是,就必须要输入否则会一直停在这里。
当然,你也可以全部用虚拟按键之类的输入,这样就无所谓了。

具体程序中的使用在这里
https://blog.csdn.net/qq_43900769/article/details/96165650

用简单的办法在c++程序做一个老板键(万能老板键和隐藏固定程序的老板键)相关推荐

  1. uniappp小程序做一个红包雨的功能

    uniappp小程序做一个红包雨的功能 需求: 首先,您需要在页面中添加一个画布元素,用于绘制红包雨效果. 在页面加载完成后,使用JavaScript中的setInterval()方法定时执行绘制红包 ...

  2. 微信小程序做一个圆形图片旋转可以控制开始和结束-音乐播放器的图片旋转功能

    微信小程序做一个圆形图片旋转可以控制开始和结束 1.在 WXML 文件中添加一个 标签,并设置图片的 src 和样式,并为其绑定一个 animation 用来控制旋转动画. <image src ...

  3. 使用微信小程序做一个简易的下拉框,无动画效果,纯原生写法(下拉列表框)

    最近在开发的时候,需要使用下拉的效果,但是之前并没有进行书写过,今天做一个简单的demo,来记录一下微信小程序开发的下拉框效果. 微信小程序和jquery最大的区别就是是否操作dom, 微信小程序无需 ...

  4. 编写简单php表单,用PHP做一个简单的表单

    PHP最有用的特性之一是它能够自动将表单中的变量值赋予PHP变量.这使得表单处理变得非常快捷. 因此,假如你送出一个内含输入栏位值的表单如下: 当你用PHP处理此页面,$name变量的值就会是 Gle ...

  5. 微信小程序|做一个底部评论视图

    使用微信小程序开发工具做一个和微信一样的评论视图: 首先我们捋一下这个视图的结构: 黑色的容器最大  包含三个横向 并列的三个红色的容器  第一个红色的容器包含两个橘色的纵向并列的容器. 这样,ind ...

  6. 微信小程序做一个调查问卷

    用微信小程序做了一个调查问卷 功能描述: 用户一天只能进行一次问卷调查=>用户登录功能 获取用户意见信息 题目分为单选题.多选题.简答题 *设置有其他选项,可进行手动输入选项 多选题选择个数设置 ...

  7. 小程序做一个能够左右滑动切换的多tab页面

    主要原理:使用 <swiper> 和 <scroll-view> 组件 代码片段: https://developers.weixin.qq.com/s/mLx4FWmF757 ...

  8. 干洗店小程序做一个预约小程序有什么优点

    洗衣店洗鞋店为什么要开发一个下单小程序 冬季衣服厚羽绒服和大衣在家不好清洗,不少人会选择送去干洗店,为了提高竞争力也提高服务水平,不少店铺提供干洗衣物上门取送的服务,而开发小程序,不仅能大大帮助干洗店 ...

  9. 微信小程序做一个调查问卷(二)

    即将不定期的开放代码 核心代码呈现 源码下载 在微信小程序如何展示富文本编辑器设置的内容 多使用缓存技术,防止过多无效的访问 题目分为单选题.多选题.简答题 设置有其他选项,可进行手动输入选项 多选题 ...

最新文章

  1. 浅析网站建设必要的专用软件
  2. Python学习之迭代器协议
  3. POLYCOM RMX2000 激活与初始化 信令板卡初始化
  4. exe可执行程序及堆栈分配(转载)
  5. oracle 10g分区表,oracle10g-11gR2 分区表汇总一
  6. 前大厂员工谈中美企业区别,中企不用单元测试,仅靠QA检查代码?
  7. Golang gRPC实践 连载七 HTTP协议转换
  8. go mysql 初窥。查询
  9. matlab边的介数,matlab-bgl-master 复杂网络工具包,便于计算 边介数,最短路径等问题 261万源代码下载- www.pudn.com...
  10. Delphi 10.4.2 (RAD Studio 10.4.2 )安装教程图解
  11. c语言字符串逆序输出reverse,将一个字符串逆序输出
  12. 基于导频的信道估计实现
  13. 语音社交系统源码中实时音频常见问题分析和解决:延时和抖动
  14. 代数结构与有限域之 群
  15. 学籍管理系统制作教程第一天
  16. 机器学习实战——决策树Python实现问题记录
  17. 网络号和主机号具体计算原理-ipv4篇
  18. Redis 50问
  19. Ucore与xv6文件系统分析
  20. XGBoost的原理、公式推导

热门文章

  1. 一文读懂TDengine3.0中的事务机制
  2. 【基础算法】编程初学者入门必须掌握的算法——两值交换
  3. 11种提升抖音直播间人气玩法
  4. Java爬虫采集电影,java的webmagic爬虫实现爬出某电影网的下载地址
  5. 【已解决】Mac用Excel打开csv文件中文乱码
  6. 清屏函数 mysql,dos下数据库清屏
  7. PC网校的优势及功能
  8. c++ primer 第2章 思维导图 (只含 c++11)
  9. 离线电商数仓建模学习笔记
  10. 中兴ZXMP S200光传输设备介绍