ホームページ  >  記事  >  運用・保守  >  C# を使用して Windows リモート デスクトップ接続を実装するサンプル チュートリアルを共有する

C# を使用して Windows リモート デスクトップ接続を実装するサンプル チュートリアルを共有する

零下一度
零下一度オリジナル
2017-05-24 15:13:015285ブラウズ

この記事では、Windows リモート デスクトップ接続を実装するための c# プログラム コードを主に紹介します。編集者が非常に優れていると考えたので、参考として共有します。エディターに従って見てみましょう

winform を使用して Windows リモート デスクトップ接続プログラムを作成します。Windows にはリモート デスクトップ接続

を独自の winform プログラムに統合する必要があります。リモートホスト。

リモート デスクトップ コア クラス ライブラリ

Windows システムには、リモート デスクトップ activex dll、ディレクトリ:

c:WindowsSystem32mstscax.dll が付属していますc:WindowsSystem32mstscax.dll

此类库无法使用c#直接调用,介绍一个工具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</a>x

このタイプのライブラリは、C# を使用して直接呼び出すことはできません。はじめに ツール AxImp.exe

AxImp.exe

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

ActiveX Control

インポーターは、ActiveX コントロールの COM タイプ ライブラリ内の型定義を Windows フォーム コントロールに変換します。


変換の制御

cmd

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

に次のコマンドを入力して、AxMSTSCLib.dll、MSTSCLib.dllを生成します

リモートデスクトップ接続のコアコード

//远程连接核心方法
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
  }
}

【関連する推奨事項】

1. Windows では Navicat を使用して接続できるが、PHP を使用してリモートの mysql に接続できない問題に関連する問題です。

2. Windows システムに Ulipad エディタをインストールします

3. Python を使用して Windows デスクトップ プログラムを開発します

🎜4. Windows_PHP チュートリアルでの PHP4.0 と oracle 8 の接続設定について簡単に説明します🎜🎜

以上がC# を使用して Windows リモート デスクトップ接続を実装するサンプル チュートリアルを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。