文字性的描述留到后续文章再交代,还是先放一个小小的'大招',毕竟眼镜看见的东西,比起抽象的东西,更能引起初学者的注意,
如果你对这个感兴趣的话,这里有个链接,你可以去看看,
<<白话windows之 会话、工作站、桌面、窗口之间的关系>>
http://bbs.pediy.com/showthread.php?t=173271
1.用vs2013创建一个空项目,添加一个cpp文件,
#include<windows.h>
TCHAR szAppName[] = TEXT("TEST"); //窗口类名
#define DESTOP_NAME TEXT("MY_DESTOP") //定义我要创建的桌面名称
ATOM m_HotKeyId1; //用于注册ctrl+shift+F6 ,切换到原来的活动桌面
ATOM m_HotKeyId2; //用于注册ctrl+shift+F7 ,将活动桌面切换到我们新创建的桌面,
ATOM m_HotKeyId3; //用于正确退出程序,因为程序没有相应界面且需要释放一些资源
HDESK hDDesk;
HWINSTA hWinStaThisProcess = GetProcessWindowStation( ); //程序运行起来,获取系统为该进程设置的默认交互工作站
HDESK hDeskOriignInput = OpenInputDesktop(0,FALSE,GENERIC_ALL); //程序运行起来,获取系统为该线程设置的默认活动桌面
void OnHotKey(WPARAM wParam,LPARAM lParam)
{
static
LRESULT lRes = 0;
if(wParam == m_HotKeyId1)//热键1被按下
{
// 该热键按下时的处理
SwitchDesktop(hDeskOriignInput); //原活动桌面被显现出来
//MessageBox(0,TEXT("F6"),0,0);
}
else if(wParam