C# 远程桌面小工具开发
2018-04-19 本文已影响287人
丶梵天
由于Windows自带远程桌面不带管理列表,所以开发一款简易远程桌面管理工具已备自用
- 利用COM组件远程桌面Rdp调用
- 首先在 Visual Studio 2017 中创建Windows窗体应用程序
- 在工具栏中->右键->选择项,添加COM组件
- 通过拖拽到窗口中使用
工具箱.png
我这里直接使用代码动态创建窗体,并动态创建
- 主要代码如下:
// 动态创建一个新窗体,用于满屏装载远程桌面
Form form = new Form();
// 隐藏窗口Icon图标
form.ShowIcon = false;
//form.StartPosition = FormStartPosition.Manual;
// 窗口名称,这里用传过来的IP去掉.命名
form.Name = ServerIps[0].Replace(".", "");
// 窗口文本,备注(IP地址)
form.Text = string.Format("{0} ({1})", args[3], ServerIps[0]);
// 窗口大小为 1024 * 768
form.Size = new Size(1024, 768);
// 获取屏幕尺寸
Rectangle ScreenArea = Screen.PrimaryScreen.Bounds;
// 创建RdpClient
AxMsRdpClient7NotSafeForScripting axMsRdpc = new AxMsRdpClient7NotSafeForScripting();
((System.ComponentModel.ISupportInitialize)(axMsRdpc)).BeginInit();
axMsRdpc.Dock = DockStyle.Fill;
axMsRdpc.Enabled = true;
axMsRdpc.Name = string.Format("axMsRdpc_{0}", ServerIps[0].Replace(".", ""));
// 绑定连接与释放事件
axMsRdpc.OnConnecting += new EventHandler(this.axMsRdpc_OnConnecting);
axMsRdpc.OnDisconnected += new IMsTscAxEvents_OnDisconnectedEventHandler(this.axMsRdpc_OnDisconnected);
// 将COM组件Rdpc添加到新窗口中
form.Controls.Add(axMsRdpc);
// 打开新窗口
form.Show();
((System.ComponentModel.ISupportInitialize)(axMsRdpc)).EndInit();
// 服务器地址
axMsRdpc.Server = ServerIps[0];
// 远程登录账号
axMsRdpc.UserName = args[1];
// 远程端口号
axMsRdpc.AdvancedSettings7.RDPPort = ServerIps.Length == 1 ? 3389 : Convert.ToInt32(ServerIps[1]);
// 自动控制屏幕显示尺寸
//axMsRdpc.AdvancedSettings9.SmartSizing = true;
// 启用CredSSP身份验证(有些服务器连接没有反应,需要开启这个)
axMsRdpc.AdvancedSettings7.EnableCredSspSupport = true;
// 远程登录密码
axMsRdpc.AdvancedSettings7.ClearTextPassword = args[2];
// 颜色位数 8,16,24,32
axMsRdpc.ColorDepth = 32;
// 开启全屏 true|flase
axMsRdpc.FullScreen = this.isFullScreen;
// 设置远程桌面宽度为显示器宽度
axMsRdpc.DesktopWidth = ScreenArea.Width;
// 设置远程桌面宽度为显示器高度
axMsRdpc.DesktopHeight = ScreenArea.Height;
// 远程连接
axMsRdpc.Connect();
-
通过以上一系列设置,最终效果如下:
简易远程桌面管理工具.png
远程服务器.png