一个虚拟桌面程序的实现

本文介绍了一款小工具的开发过程,该工具通过创建虚拟桌面,允许用户自定义要隐藏的应用。用户可以通过快捷键在正常桌面和虚拟桌面之间切换,增强了软件的通用性。实现上,该程序使用了窗口查找、消息发送以及explorer进程的方式来创建和管理虚拟桌面。
摘要由CSDN通过智能技术生成

        前几天为朋友写了一个小工具,主要是为了做到一键隐藏大智慧炒股软件,第一个版本是利用窗口查找,然后向窗口发送WM_SHOW消息完成的。实现原理虽然简单,但是不具备通用性,按我最初的设想要一键隐藏什么软件应该由用户定义,而不是每次都要定制。于是这个小工具的第二个版本诞生了,那就是为用户虚拟一个桌面,然后在虚拟桌面启动explorer进程,用户可以用"ALT+Q"来切换现有桌面与这个虚拟桌面,用户需要运行什么软件,自己在虚拟桌面打开就是了。原理很简单,实现同样也很简单,下面是代码:

/*******************************************************************************



Module:		SunBear.cpp



Date:		2008/06/13



Notice:		Copyright (C)	2008	常海龙



*******************************************************************************/



#include<afxwin.h>



HINSTANCE hInst;				//当前实例

TCHAR szAppName[] = TEXT ("VirtualDesk") ;		//程序名称

HWND  hwnd ;				//主窗体句柄

HDESK hVirtualDesk;				//虚拟桌面句柄

HDESK hCurrent;				//当前桌面句柄



PROCESS_INFORMATION piExplor;			//Explorer进程的PROCESS_INFORMATION结构



LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);



//每次运行首先检测注册表相关項,如果未发现,则设置开机自动运行

void SetStartup(HINSTANCE hInst)

{

	HKEY hKey;



	DWORD DataType = REG_SZ;



	PCSTR data_run = "Software//Microsoft//Windows//CurrentVersion//Run";

	

	long ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_run,0,KEY_ALL_ACCESS,&hKey);

	

	if(ret != ERROR_SUCCESS)

	{

		MessageBox(NULL,&
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值