>  기사  >  운영 및 유지보수  >  C#을 사용하여 Windows 원격 데스크톱 연결을 구현하는 방법에 대한 예제 튜토리얼 공유

C#을 사용하여 Windows 원격 데스크톱 연결을 구현하는 방법에 대한 예제 튜토리얼 공유

零下一度
零下一度원래의
2017-05-24 15:13:015230검색

이번 글에서는 Windows 원격 데스크톱 연결 프로그램 코드를 구현하기 위한 c#을 주로 소개합니다. 편집자께서도 꽤 괜찮다고 생각하셔서 지금부터 공유해드리도록 하겠습니다. 편집기를 따라가서 살펴보겠습니다

winform을 사용하여 Windows 원격 데스크톱 연결 프로그램을 만듭니다. Windows에는 원격 데스크톱 연결을 통합해야 합니다

우리 자신의 winform 프로그램에 넣고 원격 호스트의 구성 관리를 실현합니다.

원격 데스크톱 핵심 클래스 라이브러리

Windows 시스템에는 원격 데스크톱 activex 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<code>msdn.microsoft.com/zh-cn/library/8ccdh774(VS.80).<a href="http://www.php.cn/wiki/1519.html" target="_blank">asp</a>xx

ActiveX Control 가져오기 도구는 ActiveX 컨트롤의 COM 유형 라이브러리에 있는 유형 정의를 Windows Forms 컨트롤로 변환합니다.

컨트롤 변환

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를 사용하여 원격으로 연결할 수 없나요?

2.

Windows 시스템에 Ulipad 편집기 설치

3.

Python을 사용하여 Windows 데스크톱 프로그램 개발

4.

Windows_PHP 튜토리얼에서 PHP4.0과 oracle 8 사이의 연결 설정에 대한 간략한 논의

위 내용은 C#을 사용하여 Windows 원격 데스크톱 연결을 구현하는 방법에 대한 예제 튜토리얼 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.