今天偶然在首頁看到了這篇文件http://www.cnblogs.com/mobwiz/p/remote_desktop_share.html,感受頗有意思,一塊兒以來,遠程桌面在我心目中是很高大上的,哪想着幾行代碼就能實現了html
本身試了一下,同事那邊連了三個鏈接也沒什麼問題,和遠程桌面效果徹底一致。api
下面是代碼,只爲之後本身用到找代碼方便,基原本自上面的文章,感謝做者。截圖什麼的請看原文服務器
服務器端代碼,請先在引用裏面添加rdpcomapi,須要在COM項中才能找到工具
private void button1_Click(object sender, EventArgs e) { var _rdpSession = new RDPSession(); // 新建RDP Session _rdpSession.OnAttendeeConnected += _rdpSession_OnAttendeeConnected; Rectangle rect = new Rectangle(); rect = Screen.GetWorkingArea(this); _rdpSession.SetDesktopSharedRect(rect.X, rect.Y, rect.Right, rect.Bottom); // 設置共享區域,若是不設置默認爲整個屏幕,固然若是有多個屏幕,仍是設置下主屏幕,不然,區域會很大 _rdpSession.Open(); // 打開會話 IRDPSRAPIInvitation invitation = _rdpSession.Invitations.CreateInvitation("baseAuth", "groupName", "", 64); // 建立申請 Console.WriteLine(invitation.ConnectionString); Clipboard.SetText(invitation.ConnectionString);//最最重要的鏈接字符串 } //通過測試,這個必定得有,不然鏈接不上 private void _rdpSession_OnAttendeeConnected(object pAttendee) { textBox1.AppendText("有用戶鏈接"); IRDPSRAPIAttendee att = pAttendee as IRDPSRAPIAttendee; att.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_VIEW;//這個必定要有 }
客戶端代碼,在工具箱中,添加RDP Viewer Class,而後把該控件拖到窗體上測試
private void button1_Click(object sender, EventArgs e) { //textBox1裏面放了鏈接字符串 axRDPViewer1.Connect(textBox1.Text, Environment.UserName, ""); }
下面是效果圖,同時三個鏈接this