寫個本身的遠程桌面

今天偶然在首頁看到了這篇文件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

相關文章
相關標籤/搜索