1.热键的问题
BEGIN_MESSAGE_MAP(CWhyproDlg, CDialog)
//{{AFX_MSG_MAP(CWhyproDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_MESSAGE(WM_HOTKEY,OnHotKey)<-------------先加入一个热键处理的过程没有热键无法切换回来
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
2.虚拟桌面返回的问题
void CWhyproDlg::OnHotKey()
{
HDESK DefDesk=OpenDesktop("Default",0,FALSE,GENERIC_ALL);
if (DefDesk==NULL){
MessageBox("error");
}
if (!SwitchDesktop(DefDesk))
{
MessageBox("error");
}
}
3.虚拟桌面创建的问题
mHdesk = CreateDesktop("newdesktop",NULL,NULL,DF_ALLOWOTHERACCOUNTHOOK,GENERIC_ALL,NULL);
if (mHdesk == NULL)
{
MessageBox("error createdesktop");
}
HDESK mDesk=OpenDesktop("newdesktop",DF_ALLOWOTHERACCOUNTHOOK,FALSE,
MAXIMUM_ALLOWED);
if (mDesk==NULL)
{
MessageBox("error opendesktop");
}
SwitchDesktop(mDesk);
SetThreadDesktop(mDesk);
4.创建explorer.exe的问题
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
si.lpDesktop = "newdesktop";
ZeroMemory( &pi, sizeof(pi) );
if( !CreateProcess( "C://WINDOWS//explorer.exe",NULL,NULL,NULL,FALSE,0,
NULL,NULL,&si,&pi ) )
{
MessageBox("error");
ExitProcess(1);
}
5.最后的问题
自己回去组织一下调用关系或者扩展一下来个截图,托盘什么的就更好了!以上都是用mfc完成,如果所要代码请QQ联系
QQ:420094850。