Chat  

C# - Avviare un RDP da codice

C# - Avviare un RDP da codice

PDFStampaE-mail

Talvolta può essere utile poter gestire un RDP dal nostro codice. Per fare ciò è possibile utilizzare una specifica libreria microsoft:

Esempio utilizzo Microsoft Terminal Services Control Type Library

Per esempio può essere utile per avviare programmi client su server remoti i quali necessitano di una sessione aperta.

Questo di seguito potrebbe essere un buon punto di partenza:

dichiarazione del controllo all'interno di uno splitpanel:

private AxMSTSCLib.AxMsRdpClient4 rdpc = null;

creazione del controllo
  
        protected override void OnCreateControl()
        {
            rdpc = new AxMSTSCLib.AxMsRdpClient4();
            rdpc.OnDisconnected += new AxMSTSCLib.IMsTscAxEvents_OnDisconnectedEventHandler(rdpc_OnDisconnected);
            rdpc.OnEnterFullScreenMode += new EventHandler(rdpc_OnEnterFullScreenMode);
            this.splitContainer2.Panel1.Controls.Add(rdpc);

           
 
            base.OnCreateControl();
           
 
        }

ho inserito due metodi , uno per la disconnessione un'altro quando vado in FullScreen.

Ecco un esempio di parametrizzazione del controllo:

        private void Opzioni_RDP(AxMSTSCLib.AxMsRdpClient4 remotedesktop)
        {
 
            remotedesktop.Server = "server";
            remotedesktop.UserName = "administrator";
            remotedesktop.Domain = "dominio";
            remotedesktop.AdvancedSettings5.ClearTextPassword = "pwd";
            remotedesktop.AdvancedSettings5.ConnectToServerConsole = true;
            remotedesktop.ColorDepth = 32;
            remotedesktop.DesktopHeight = 800;
            remotedesktop.DesktopWidth = 1280;
 
            
        }

 

Quindi, per esempio da un evento click di un Button posso avviare la connessione come segue:

 private void button1_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Maximized;
            Opzioni_RDP(rdpc);
            
            rdpc.Connect();

	}

l'esempio nel link sopra è completo e contiene un sorgente d'esempio

 

© 2018 - Andrea Facchin
   
| Domenica, 23. Settembre 2018 || Designed by: LernVid.com |