Maison >Opération et maintenance >exploitation et entretien des fenêtres >Partagez un exemple de didacticiel sur l'utilisation de C# pour implémenter la connexion au bureau à distance Windows

Partagez un exemple de didacticiel sur l'utilisation de C# pour implémenter la connexion au bureau à distance Windows

零下一度
零下一度original
2017-05-24 15:13:015360parcourir

Cet article présente principalement c# pour implémenter le code du programme de connexion au bureau à distance Windows. L'éditeur pense que c'est assez bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil

Utilisez Winform pour créer un programme de connexion au bureau à distance Windows. Windows est livré avec une connexion au bureau à distance. Nous devons intégrer la connexion au bureau à distance

. dans notre propre programme winform et réalise la gestion de la configuration de l'hôte distant.

Bibliothèque de classes principales du bureau à distance

Le système Windows est livré avec la DLL Activex du bureau à distance, répertoire :

c:WindowsSystem32mstscax.dll

Ce type de bibliothèque ne peut pas être appelé directement en utilisant c# Nous introduisons un outil AxImp.exe

AxImp.exe

msdn.microsoft.com/zh-cn/library/. 8ccdh774( VS.80).<a href="http://www.php.cn/wiki/1519.html" target="_blank">asp<code>msdn.microsoft.com/zh-cn/library/8ccdh774(VS.80).<a href="http://www.php.cn/wiki/1519.html" target="_blank">asp</a>xx

L'importateur ActiveX Control convertit les définitions de type de la bibliothèque de types COM du contrôle ActiveX en contrôles Windows Forms.

Conversion de contrôle

Entrez la commande suivante dans cmd

"c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\AxImp.exe" "c:\Windows\System32\mstscax.dll"

pour générer AxMSTSCLib.dll, MSTSCLib.dll

Code principal de connexion au bureau à distance

//远程连接核心方法
private AxMSTSCLib.AxMsRdpClient7 rdpc = null;
protected void OnCreateControl()
{
  rdpc = new AxMSTSCLib.AxMsRdpClient7();
  rdpc.OnDisconnected += new AxMSTSCLib.IMsTscAxEvents_OnDisconnectedEventHandler(rdpc_OnDisconnected);
  this.Controls.Add(rdpc);
  rdpc.Dock = DockStyle.Fill;
  rdpc.BringToFront();
}

void rdpc_OnDisconnected(object sender, AxMSTSCLib.IMsTscAxEvents_OnDisconnectedEvent e)
{
  //处理断开连接
}


public void Disconnect()
{
  try
  {
    if (rdpc.Connected == 1)
    {
      rdpc.Disconnect();
    }
  }
  catch (Exception)
  {

  }

}

private void SetRdpClientProperties(Machine parMachine)
{
  rdpc.Server = parMachine.MachineName;
  rdpc.AdvancedSettings2.RDPPort = parMachine.Port;
  rdpc.UserName = parMachine.UserName;
  rdpc.Domain = parMachine.DomainName;
  if (parMachine.Password != "")
  {
    rdpc.AdvancedSettings5.ClearTextPassword = parMachine.Password;
  }
  rdpc.AdvancedSettings5.RedirectDrives = parMachine.ShareDiskDrives;
  rdpc.AdvancedSettings5.RedirectPrinters = parMachine.SharePrinters;
  rdpc.ColorDepth = (int)parMachine.ColorDepth;
}

public void Connect(Machine parMachine)
{
  SetRdpClientProperties(parMachine);
  rdpc.Connect();
}

//远程主机配置
[Serializable()]
public class Machine
{
  private string _RemoteDesktopConnectionName;
  public string RemoteDesktopConnectionName
  {
    get { return _RemoteDesktopConnectionName; }
    set { _RemoteDesktopConnectionName = value; }
  }

  private string _MachineName;
  public string MachineName
  {
    get { return _MachineName; }
    set { _MachineName = value; }
  }
  private string _DomainName;
  public string DomainName
  {
    get { return _DomainName; }
    set { _DomainName = value; }
  }

  private string _UserName;
  public string UserName
  {
    get { return _UserName; }
    set { _UserName = value; }
  }

  private string _Password;
  public string Password
  {
    get { return _Password; }
    set { _Password = value; }
  }

  private bool _AutoConnect;
  public bool AutoConnect
  {
    get { return _AutoConnect; }
    set { _AutoConnect = value; }
  }

  private bool _ShareDiskDrives;
  public bool ShareDiskDrives
  {
    get { return _ShareDiskDrives; }
    set { _ShareDiskDrives = value; }
  }

  private bool _SharePrinters;
  public bool SharePrinters
  {
    get { return _SharePrinters; }
    set { _SharePrinters = value; }
  }

  private bool _SavePassword;
  public bool SavePassword
  {
    get { return _SavePassword; }
    set { _SavePassword = value; }
  }

  private Colors _ColorDepth;
  public Colors ColorDepth
  {
    get { return _ColorDepth; }
    set { _ColorDepth = value; }
  }

  public int Port
  {
    get
    {
      return _Port;
    }

    set
    {
      _Port = value;
    }
  }

  private int _Port;


  public enum Colors
  {
    HighColor15 = 15,
    HighColor16 = 16,
    Color256 = 8,
    TrueColor = 24
  }
}

[Recommandations associées]

1. Puis-je me connecter en utilisant Navicat sous Windows PHP ? Impossible de se connecter à des problèmes liés à MySQL distant !

2. Installez l'éditeur Ulipad sous le système Windows

3 Utilisez Python pour développer des programmes de bureau Windows

. 4. Une brève discussion sur les paramètres de connexion entre PHP4.0 et Oracle 8 sous Windows_PHP tutoriel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn