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

零下一度
Libérer: 2017-05-24 15:13:01
original
5268 Les gens l'ont consulté

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="//m.sbmmt.com/wiki/1519.html" target="_blank">asp<code>msdn.microsoft.com/zh-cn/library/8ccdh774(VS.80).<a href="//m.sbmmt.com/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"
Copier après la connexion

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
  }
}
Copier après la connexion

[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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal