2011-10-05 76 views
2

我正在通過MSTSCLib編寫應用程序來控制4臺帶有Windows 7或Windows 2008 Server的計算機。C#中的RDP控制檯陰影#

這是我的應用程序: enter image description here

public AxMSTSCLib.AxMsRdpClient6 rdp; 

rdp.Server = txtServer.Text; 
rdp.UserName = txtUserName.Text; 

IMsTscNonScriptable secured = (IMsTscNonScriptable)rdp.GetOcx(); 
secured.ClearTextPassword = txtPassword.Text; 

rdp.DesktopHeight = 1024; 
rdp.DesktopWidth = 1280; 
rdp.Connect(); 

這4臺電腦,控制4發電機。

我需要通過辦公室計算機進行控制並保持活動狀態,以便任何人都可以物理地和遠程地使用這些計算機。我的意思是,如果我遠程移動鼠標,身體在電腦中的人看到鼠標移動。

我目前的情況是,我的應用程序連接到遠程機器,但阻止會話給另一個人。 (該會話已被阻止,請按CTRL + ALT-DEL)

搜索Google時,我認爲我需要的是一個名爲「遠程會話遮蔽」的東西。它是否正確?

我怎麼能這樣做C#

我找到了interesting information here,可以用MSTSCLib來完成嗎?

+0

VNC的+1,但什麼是與C#的連接?你需要什麼來自動化? –

+0

爲了以防萬一,你用什麼爲UI(DevExpress,Telerik,ComponentOne ...)? – Burimi

+0

@Cody:DevComponents DotNetBar :) –

回答

3

我可以駕駛從RDP離開,並與一些開源的解決方案,如TightVNC的去,請查看:

http://www.tightvnc.com/licensing.php

VNC具有設計您所需的功能。

+0

RDP可以完成這項工作。請列出一些論點爲什麼你不會使用它。聽起來很像個人喜好。 – UrbanEsc

+0

謝謝!我已經用VNCSharp開始了我的項目,但是VNC非常慢。這種情況下RDP比VNC快:( –

+0

UrbanEsc:我試過AirVNC和許多VNC應用程序將屏幕拆分爲4或6以同時控制這些計算機,但VNC使用大量內存(大約150MB的Ram每臺計算機與3〜4MB Ram與RDP),VNC很慢並且關閉很多次.RDP非常棒,快速,輕量級和穩定。我還需要通過鼠標懸停來獲得任何計算機的重點,我可以使用RDP這很容易啊!VNCSharp在調整大小時崩潰。 –

0

不幸的是,似乎不再可能與RDP「共享」會話,很可能是因爲許可共享的預防措施。

這意味着無法將「正在運行的會話」(已登錄的用戶)登錄而不登錄另一個會話。

這是可能在XP中,但它與7(我猜服務器2008也是)。

您可能需要查看Windows遠程協助,因爲這是操作系統內置的唯一可用選項。

除了VNC,您還可以查看TeamViewer,我聽說這很好用。我不確定是否有可用的API。

+0

這是可能的。只需從cmd:mstsc -v:servername -console運行,然後使用Shadow 0.但是我想用C#執行此操作# –

+0

我認爲如此看你的截圖。正如我所說的,如果你想要特定的功能,你需要切換齒輪。 – UrbanEsc