C# 如何调用Mstsc.exe进行远程桌面连接

_少年已不年_少 2014-11-17 05:08:51
我自己写了一个远程主机管理工具,用Microsoft RDP Client Control 控件可以实现远程桌面的访问,但是我现在想,平时我们连接的时候是通过“远程桌面连接”也就是mstsc.exe这个程序,然后输入ip,用户名,密码再进行连接。因此也想通过C#来实现调用mstsc.exe连接桌面,因为我想要那种进入后默认全屏的效果,就是通过“远程桌面连接”进去后,在远程桌面的顶端有个可以自动以藏的横向小菜单的那种。百度了两天,发现资料比较少,唯一百度到的就是mstsc.exe实际上是执行的.rdp文件,但是调用电话本的前提是,提前连接过远程主机并且已经设置好了用户名,密码等。
说了上面那些,下面说说自己想要实现的功能,希望知道的朋友给点思路,最好给出例子或资料,不胜感激。

需求:通过调用mstsc.exe,动态的为其传IP,用户名,密码,端口,然后进行连接,说的直白一些,就把平时我们手工打开“远程桌面连接”,输入ip,用户名,密码,点击连接的这些操作,用代码来实现。并且不局限以前是否成功连接过此主机。只要我们有了IP,端口,用户名,密码,就能连接成功!

不知道我描述的明白不明白。谢谢大家。
...全文
1757 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
题主问题解决了吗 ?
tengsong 2015-02-04
  • 打赏
  • 举报
回复
还有个 简单但是比较麻烦的办法,, 就是先手动mstsc 远程电脑然后 保存rdp, 以后如果要连接其他服务器的时候修改rdp文件里面的 ip和账号, 密码就行了
gzw13999 2014-11-18
  • 打赏
  • 举报
回复
市面有现成的啊。。 或者自己在运行中输入 mstsc /? 即可查看。
by_封爱 版主 2014-11-18
  • 打赏
  • 举报
回复



可能是自动生成的XXXX.rdp文件 然后自动连接吧.

我觉得应该可以,,不信你把文件另存一个 然后使用cmd测试下就知道了..

别没测试就说不行不行....
willhuo 2014-11-18
  • 打赏
  • 举报
回复
一直木明白,什么是真是桌面,什么是虚拟桌面,能给个解释吗? 你看看这个文章是不是你想要的 https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/83416a91-5d65-451e-98cb-1bddbac490a2/how-to-mstsc-with?forum=clr
  • 打赏
  • 举报
回复
你说的这个真有可能因为我发现它建立了电话本科!
  • 打赏
  • 举报
回复
引用 6 楼 Z65443344 的回复:
[quote=引用 5 楼 PressTab 的回复:]
[quote=引用 2 楼 Z65443344 的回复:]
应该是能做,只不过会非常麻烦
因为如果用户名密码已经记录到本地,再次打开的时候可以不提示输入用户名密码
而如果没有记录到本地,则会要求输入用户名密码
除非你先去修改它的文件,把用户名密码写进去(估计很难),否则只能模拟键盘填写用户名,回车,密码,回车
我见到过一个工具,他的也是一个管理工具,里面有“真实桌面”和“虚拟桌面”选项,如果选择真实桌面,就是调用的mstsc.exe那种模式的窗口,直接打开远程桌面了。[/quote]
你确定它是调用的远程桌面,而不是自己实现了远程桌面功能?
查看下进程,启动的窗口到底是什么进程[/quote]

  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
应该是能做,只不过会非常麻烦
因为如果用户名密码已经记录到本地,再次打开的时候可以不提示输入用户名密码
而如果没有记录到本地,则会要求输入用户名密码
除非你先去修改它的文件,把用户名密码写进去(估计很难),否则只能模拟键盘填写用户名,回车,密码,回车
百度有个齐乐远程桌面管理工具,我没办法下载只能截两张图,我想做他里面的那个全屏功能和真实桌面功能。
於黾 2014-11-17
  • 打赏
  • 举报
回复
引用 5 楼 PressTab 的回复:
[quote=引用 2 楼 Z65443344 的回复:] 应该是能做,只不过会非常麻烦 因为如果用户名密码已经记录到本地,再次打开的时候可以不提示输入用户名密码 而如果没有记录到本地,则会要求输入用户名密码 除非你先去修改它的文件,把用户名密码写进去(估计很难),否则只能模拟键盘填写用户名,回车,密码,回车
我见到过一个工具,他的也是一个管理工具,里面有“真实桌面”和“虚拟桌面”选项,如果选择真实桌面,就是调用的mstsc.exe那种模式的窗口,直接打开远程桌面了。[/quote] 你确定它是调用的远程桌面,而不是自己实现了远程桌面功能? 查看下进程,启动的窗口到底是什么进程
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
应该是能做,只不过会非常麻烦 因为如果用户名密码已经记录到本地,再次打开的时候可以不提示输入用户名密码 而如果没有记录到本地,则会要求输入用户名密码 除非你先去修改它的文件,把用户名密码写进去(估计很难),否则只能模拟键盘填写用户名,回车,密码,回车
我见到过一个工具,他的也是一个管理工具,里面有“真实桌面”和“虚拟桌面”选项,如果选择真实桌面,就是调用的mstsc.exe那种模式的窗口,直接打开远程桌面了。
  • 打赏
  • 举报
回复
引用 3 楼 shushukui 的回复:
--------------------------- 远程桌面连接用法 --------------------------- MSTSC [<连接文件>] [/v:<服务器[:端口]>] [/admin] [/f[ullscreen]] [/w:<宽度> /h:<高度>] [/public] | [/span] [/multimon] [/migrate] [/edit "连接文件"] [/restrictedAdmin] [/prompt] “连接文件”-- 指定用于连接的 .RDP 文件的名称。 /v:<服务器[:端口]> -- 指定要连接到的远程计算机。 /admin -- 将您连接到会话以管理服务器。 /f -- 在全屏模式下启动远程桌面。 /w:<宽度> -- 指定远程桌面窗口的宽度。 /h:<高度> -- 指定远程桌面窗口的高度。 /public -- 以公共模式运行远程桌面。 /span -- 将远程桌面的宽度和高度与本地虚拟桌面相匹配,如有必要,可跨多个监视器进行扩展。若要跨多个监视器进行扩展,必须将监视器排列成一个矩形。 /multimon -- 将远程桌面服务会话监视器布局配置为与当前的客户端配置相同。 /edit -- 打开要进行编辑的指定 .RDP 连接文件。 /migrate -- 将使用客户端连接管理器创建的旧版连接文件迁移到新的 .RDP 连接文件。 /restrictedAdmin -- 在受限管理模式下将您连接到远程计算机或服务器。在此模式下,将不会向远程计算机或服务器发送凭据,这样可在您连接到的计算机已被攻击时为您提供保护。但是,从远程计算机建立的连接可能不会由其他远程电脑和服务器进行身份验证,这可能会影响应用的功能和兼容性。表示 /admin。 /prompt -- 在您连接到远程计算机或服务器时提示您输入凭据。 --------------------------- 确定 ---------------------------
这个貌似不行,我举个例子吧,就是好比一条命令:mstsc.exe 192.168.1.1:3389 administrator password ,然后就能连接过去。当然我这条命令是我自己构思的,不是正确的命令。显然,在mstsc.exe的正常命令中,是需要去读取.rdp这个文件的
shushukui 2014-11-17
  • 打赏
  • 举报
回复
--------------------------- 远程桌面连接用法 --------------------------- MSTSC [<连接文件>] [/v:<服务器[:端口]>] [/admin] [/f[ullscreen]] [/w:<宽度> /h:<高度>] [/public] | [/span] [/multimon] [/migrate] [/edit "连接文件"] [/restrictedAdmin] [/prompt] “连接文件”-- 指定用于连接的 .RDP 文件的名称。 /v:<服务器[:端口]> -- 指定要连接到的远程计算机。 /admin -- 将您连接到会话以管理服务器。 /f -- 在全屏模式下启动远程桌面。 /w:<宽度> -- 指定远程桌面窗口的宽度。 /h:<高度> -- 指定远程桌面窗口的高度。 /public -- 以公共模式运行远程桌面。 /span -- 将远程桌面的宽度和高度与本地虚拟桌面相匹配,如有必要,可跨多个监视器进行扩展。若要跨多个监视器进行扩展,必须将监视器排列成一个矩形。 /multimon -- 将远程桌面服务会话监视器布局配置为与当前的客户端配置相同。 /edit -- 打开要进行编辑的指定 .RDP 连接文件。 /migrate -- 将使用客户端连接管理器创建的旧版连接文件迁移到新的 .RDP 连接文件。 /restrictedAdmin -- 在受限管理模式下将您连接到远程计算机或服务器。在此模式下,将不会向远程计算机或服务器发送凭据,这样可在您连接到的计算机已被攻击时为您提供保护。但是,从远程计算机建立的连接可能不会由其他远程电脑和服务器进行身份验证,这可能会影响应用的功能和兼容性。表示 /admin。 /prompt -- 在您连接到远程计算机或服务器时提示您输入凭据。 --------------------------- 确定 ---------------------------
於黾 2014-11-17
  • 打赏
  • 举报
回复
应该是能做,只不过会非常麻烦 因为如果用户名密码已经记录到本地,再次打开的时候可以不提示输入用户名密码 而如果没有记录到本地,则会要求输入用户名密码 除非你先去修改它的文件,把用户名密码写进去(估计很难),否则只能模拟键盘填写用户名,回车,密码,回车
by_封爱 版主 2014-11-17
  • 打赏
  • 举报
回复
mstsc /192.168.1.1 好像还有别的参数...你去查询下,

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧