This article mainly introducesc# to implement the windows remote desktop connection program code. The editor thinks it is quite good, so I will share it with you now and give it as a reference. Let’s follow the editor and take a look.
Use winform to make a windows remote desktop connection program. Windows comes with a remote desktop connection. We need to integrate the remote desktop connection
into our own winform program, and realizes the configuration management of remote host.
Remote desktop core class library
The windows system comes with remote desktop activex dll, directory:
c:\Windows\System32 \mstscax.dll
This kind of library cannot be called directly using c#. We introduce a tool AxImp.exe
AxImp.exe
msdn .microsoft.com/zh-cn/library/8ccdh774(VS.80).aspx
ActiveXControlThe import program will ActiveX control Type definitions in the COM type library are converted to Windows Forms controls.
Control conversion
Enter the following command in cmd
"c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\AxImp.exe" "c:\Windows\System32\mstscax.dll"
to generate AxMSTSCLib.dll, MSTSCLib.dll
Remote Desktop Connection Core Code
//远程连接核心方法 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 } }
[Related Recommendations]
2.Install Ulipad editor under Windows system
3.Use Python to develop windows desktop programs
4.A brief discussion on the connection settings between PHP4.0 and oracle 8 under Windows_PHP tutorial
The above is the detailed content of Share an example tutorial on using C# to implement Windows remote desktop connection. For more information, please follow other related articles on the PHP Chinese website!