虚拟桌面(老板桌面)

简介:

    前段时间用Linux Mint,有四个虚拟桌面,非常的好用,特别是看PPT的时候,不用退出播放就可以回到桌面上来。可惜Windows下没有这个功能,所以自己写了一个小工具,虽然名字叫虚拟桌面,其实都是真实的桌面啦。

    跟Linux下的相比,还是有些不一样。虽然也是通过 Ctrl+Alt+方向键 来选择桌面,但是我写的程序中,每个方向键是直接对应一个桌面,在Linux中,方向键对应的桌面是相对的,即按某个方向切换到下一个桌面。我这种设计一是考虑设计方便,二是觉得直接切换更方便。

   不幸的是,这些快捷键跟QQ音乐的快捷键冲突了,反正一般情况下我不用QQ音乐的快捷键(况且本本有独立多媒体键),所以,我直接把QQ音乐的快捷键改成别的了...

    编写的过程还是挺曲折的。一开始考虑用MFC写,但是碰到个小问题,不创建窗体的话,托盘图标创建后立刻消失(就是在App的InitInstance方法中创建托盘图标,MFC我不熟,哪位高手给我解释下原因感激不尽)。后来想直接用Windows的API来写,发现问题依旧。然后就考虑用C#来写(用P/Invoke),别看在C++下才用了那几个API,转到C#后,用那些个API实在太麻烦了(主要是类型转换,写个小程序不想搞这么麻烦啦)。无奈了..想用C++封装个DLL来供C#调...后来想想,一开始放弃MFC是自己太执于不创建窗体(我觉得白白浪费资源),于是乎干脆直接把窗体隐藏了事,绕了个大弯又回来了....

   我对MFC实在是外行,代码就不好意思贴上来了,附上可执行文件以便有同样需求的朋友。版权所有,盗版不究~

   参考API:OpenDesktop、CreateDesktop、SwitchDesktop、SetThreadDesktop、CreateProcess、Shell_NotifyIcon、RegisterHotKey




本文转自 dogegg250 51CTO博客,原文链接:http://blog.51cto.com/jianshusoft/625111,如需转载请自行联系原作者

相关文章
|
JavaScript 前端开发 开发工具
基于 Vue3.0 和 Ant Design Vue ,高颜值管理后台UI框架vue-vben-admin运行
基于 Vue3.0 和 Ant Design Vue ,高颜值管理后台UI框架vue-vben-admin运行
621 1
|
Ubuntu 开发工具
Ubuntu更换阿里云软件源
Ubuntu更换阿里云软件源
140944 0
|
11月前
|
JavaScript 应用服务中间件 nginx
nginx部署vue项目
本文介绍了将Vue项目部署到Nginx的步骤,包括构建Vue项目、上传dist文件夹到服务器、安装Nginx、配置Nginx代理静态文件以及重启Nginx,确保了Vue应用可以通过域名或IP地址访问。
597 1
|
存储 关系型数据库 MySQL
服务器数据恢复—EVA存储异常断电重启后虚拟机无法启动的数据恢复方案
服务器存储数据恢复环境: 某品牌EVA8400,服务器上安装VMware ESXi虚拟化平台,虚拟机的虚拟磁盘包括数据盘(精简模式)+快照数据盘,部分虚拟机中运行oracle数据库和mysql数据库。 服务器存储故障&检测: 存储异常断电重启后,存储中一台虚拟机无法启动。工作人员推测故障原因是异常断电导致电源模块出现故障,清空cache后重新启动存储发现该虚拟机仍无法正常启动。
|
Linux Go Windows
go windows编译linux可执行文件
go windows编译linux可执行文件
8978 0
|
Web App开发
Chrome的插件扩展程序安装目录是什么?在哪个文件夹?
正常情况下,Chrome插件扩展程序的默认安装目录如下: 1.windows xp中chrome插件默认安装目录位置: C:\Documents and Settings\用户名\Local Settings\Application Data\Google\Chrome\User Data\Default\Extensions 2.
49976 2
基于windows10下使用bat脚本设置自定义开机启动项
基于windows10下使用bat脚本设置自定义开机启动项
4492 0
基于windows10下使用bat脚本设置自定义开机启动项
|
Ubuntu
Ubuntu 更换国内源
Ubuntu 更换国内源
4750 0
|
消息中间件 存储 网络协议
nsq 优秀的消息队列
简介 NSQ是Go语言编写的,开源的分布式消息队列中间件,其设计的目的是用来大规模地处理每天数以十亿计级别的消息。NSQ 具有分布式和去中心化拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征,是一个成熟的、已在大规模生成环境下应用的产品。
5473 1
nsq 优秀的消息队列
|
数据采集 Web App开发 前端开发
puppeteer搭建代理转发请求
puppeteer搭建代理转发请求
2522 0
puppeteer搭建代理转发请求