Windows虛擬桌面

2022-09-22 06:31:49 字數 2502 閱讀 9615

process_information processinfo;

startupinfo startupinfo;

hdesk hdesktop;

hdesk horiginalthread;

hdesk horiginalinput;

//核心**:

//建立名稱為“virtual”的虛擬桌面

hdesktop = createdesktop("

virtual

", null, null, 0

, generic_all , null);

//初始化建立程序必須的結構體

zeromemory(&startupinfo, sizeof

(startupinfo));

zeromemory(&processinfo, sizeof

(processinfo));

startupinfo.cb = sizeof

(startupinfo);

startupinfo.lpdesktop = "

virtual";

//記錄原始桌面的控制代碼

horiginalthread =getthreaddesktop(getcurrentthreadid());

horiginalinput = openinputdesktop(0

, false, desktop_switchdesktop);

//建立桌面外殼程序

createprocess(null, "

explorer

", null, null, false, 0, null, null, &startupinfo, &processinfo);

//下面是桌面切換**:

setthreaddesktop(hdesktop);

//設定桌面活動焦點是虛擬桌面

switchdesktop(hdesktop); //

切換到虛擬桌面

setthreaddesktop(horiginalthread);

switchdesktop(horiginalinput);

closedesktop(hdesktop);

//關閉虛擬桌面

//核心**就是這些,然後加入熱鍵,設定程式切換時的特效什麼的就自由新增好了

附上程式源**:

//由於用到漸顯漸隱的效果,需要加入animatewindow,由於vc6的限制,要在最上面加入

#undef winver

#define winver 0x500 //

vitualdesktopdlg.h

public

:  process_information processinfo;

startupinfo startupinfo;

hdesk hdesktop;

hdesk horiginalthread;

hdesk horiginalinput;

bool isoriginaldesktopactive;

//是否在原始桌面rz

bool isinitialdesktop; //

是否初始化桌面,防止灰色按鈕剋星造成不可估計的後果

bool iswindowshow; //

程式是否可見

protected

:  afx_msg lresult onhotkey(wparam wparam, lparam lparam);

//自定義熱鍵訊息 //

vitualdesktopdlg.cpp

#include

#pragma comment(lib, "user32.lib")  //

這兩個是animatewindow要的頭和庫

begin_message_map(cvitualdesktopdlg, cdialog)

//}afx_msg_map

end_message_map()

bool cvitualdesktopdlg::oninitdialog()

void

cvitualdesktopdlg::onok()

return

;  cdialog::onok();

}void

cvitualdesktopdlg::onclose()

closehandle(hprocess);

}  exit(0);

cdialog::onclose();

}lresult cvitualdesktopdlg::onhotkey(wparam wparam, lparam lparam)

else

isoriginaldesktopactive = !isoriginaldesktopactive;

}  if (wparam == 521)  

else

iswindowshow = !iswindowshow;

}  return

true;

}

windows遠端桌面

home網路伺服器一臺還是決定使用windows xp做為服務機器部署,原因懶的重灌是說法之一。畢竟還有windows服務需求在這個平臺下部...

windows連結ubuntu桌面

安裝xrdp 使用快捷鍵 ctrl alt t 開啟一個終端視窗,輸入 sudo apt get install xrdp 回車 輸入roo...

Windows2008當桌面使用

因為需要32位系統,又想用8g記憶體。 一 提高開機速度 0 t7 a d a r5 1 免除登入時按ctrl alt del的限制 開啟《...