Javascript调用MsRdpClient 完成Web调用远程桌面(CSDN手动迁移)

最近工作用到Web连接远程桌面,查找资料发现MsRdpClient都是vbscript写的。由于不太熟悉vbscript ,只能一点点改成js。。 下面是具体代码,希望给需要的人一些帮助~~

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4     <meta name="viewport" content="width=device-width" />
  5     <meta http-equiv="x-ua-compatible" content="IE=8">
  6     <title>RDP</title>
  7     <style type="text/css">
  8         body {
  9             padding: 0;
 10             margin: 0;
 11         }
 12     </style>
 13 </head>
 14 <body>
 15     <script type="text/javascript">
 16   //if ("条件") {
 17          //   if (window.opener.SetRDPID) { //调用打开此页的父页面中的方法
 18         //        window.opener.SetRDPID("123");
 19         //    };
 20 // 连接远程桌面的方法
 21             function RdpConnect() {
 22                 var userName, Pwd, server, domain, port;
 23                 userName = "administrator"; //用户名
 24                 server = "192.168.1.117"; //IP
 25                 port = 3389; //端口
 26 domain = "myDomain";  //域
 27                 if (!MsRdpClient.Connected) {
 28                     try {
 29                         document.getElementById("connectArea").style.display = "block"; //显示远程桌面div
 30                         MsRdpClient.Server = server; //设置远程桌面IP地址
 31                         try {
 32                             MsRdpClient.AdvancedSettings2.RedirectDrives = false;
 33                             MsRdpClient.AdvancedSettings2.RedirectPrinters = false;
 34                             MsRdpClient.AdvancedSettings2.RedirectPrinters = false;
 35                             MsRdpClient.AdvancedSettings2.RedirectClipboard = true;
 36                             MsRdpClient.AdvancedSettings2.RedirectSmartCards = false;
 37                         } catch (ex) {
 38                         };
 39
 40
 41                         MsRdpClient.Domain = domain;//域
 42                         MsRdpClient.UserName = userName;
 43                         //MsRdpClient.AdvancedSettings2.ClearTextpassword = Pwd; //密码
 44                         MsRdpClient.AdvancedSettings2.RDPPort = port; //端口
 45                         if (document.getElementById("ColorDepth").value == 1) {
 46                             ColorDepth16();
 47                         } else {
 48                             ColorDepthDefault();
 49                         };
 50                         MsRdpClient.FullScreen = 1;  //是否全屏 0否 1是
 51                         if (document.getElementById("Screen").value == 1) {
 52                             Screen1();
 53                         } else {
 54                             ScreenDefault();
 55                         };
 56                         try {
 57                             //如果不支持,继续下面操作
 58                             MsRdpClient.AdvancedSettings7.EnableCredSspSupport = true;
 59                             MsRdpClient.AdvancedSettings5.AuthenticationLevel = 2;
 60                         } catch (ex) {
 61                         } finally {
 62                             MsRdpClient.Connect();  //连接远程桌面
 63                         }
 64                     } catch (ex) {
 65                         alert("发生错误:" + ex.message + "请尝试刷新页面重新连接。");
 66                     };
 67                 } else {
 68                     alert("已连接!");
 69                 };
 70             };
 71             //var logoff = false; //存储是否正常注销
 72             //全屏
 73             function FullScreen() {
 74                 if (MsRdpClient.Connected) {
 75                     MsRdpClient.FullScreen = 1;
 76                 };
 77             };
 78             //1024*768
 79             function ScreenDefault() {
 80                 MsRdpClient.Width = 1024; //设置远程桌面 显示区域的宽和高
 81                 MsRdpClient.Height = 768;
 82                 MsRdpClient.DesktopWidth = 1024;  //设置 远程桌面的宽和高
 83                 MsRdpClient.DesktopHeight = 768;
 84             };
 85             //800*600
 86             function Screen1() {
 87                 MsRdpClient.Width = 800; //设置远程桌面 显示区域的宽和高
 88                 MsRdpClient.Height = 600;
 89                 MsRdpClient.DesktopWidth = 800;  //设置 远程桌面的宽和高
 90                 MsRdpClient.DesktopHeight = 600;
 91             };
 92             //色彩度,默认32位
 93             function ColorDepthDefault() {
 94                 MsRdpClient.ColorDepth = 32;
 95             };
 96             //色彩度16位
 97             function ColorDepth16() {
 98                 MsRdpClient.ColorDepth = 16;
 99             };
100             function reSet() {
101                 document.getElementById("Screen").selectedIndex = 1;
102                 document.getElementById("ColorDepth").selectedIndex = 1;
103             };
104
105 //关闭当前页面
106         function closeWindow() {
107             window.opener = null;
108             window.open("", "_self");
109             window.close();
110         };
111 </script>
112     <!--远程桌面参数设置start-->
113     <div style="display:none"><fieldset>
114         分辨率:<select id="Screen">
115             <option value="1">800*600</option>
116             <option value="2" selected="selected">1024*768</option>
117         </select>
118         色彩度:<select id="ColorDepth">
119             <option value="1">16位</option>
120             <option value="2" selected="selected">32位</option>
121         </select>
122         <input type="button" value="重置" onclick="reSet()" />
123     </fieldset>
124     <input type="button" id="connectbutton" value="连接" onclick="RdpConnect();" /></div>
125      <!--远程桌面参数设置end-->
126     <input type="button" class="btn btn-warning" style="width:80px;" value="全屏" onclick="FullScreen()" />
127     <div id="connectArea" style="display: none;">
128         <table>
129             <tr>
130                 <td>
131                     <object id="MsRdpClient"
132                         classid="CLSID:7584c670-2274-4efb-b00b-d6aaba6d3850"
133                         codebase="msrdp.cab#version=5,2,3790,0" width="1024px" height="768px">
134                     </object>
135                 </td>
136             </tr>
137             <script type="text/javascript">
138                 function MsRdpClient::OnDisconnected(disconnectCode) {
139                     document.getElementById("connectArea").style.display = "none";
140                     //正常注销,代码为2
141                     //if (disconnectCode != 2) {
142                     //    if (logoff == false) {
143                     //        alert("计算机处于断开状态,请根据提示完成后续步骤:\r\n(1)如果您操作已完成,请刷新页面重新连接并注销;\r\n(2)如果仍需操作,请刷新页面后继续,完毕后请注销。\r\n谢谢您的配合!");
144                     //    } else {
145                     //        alert("计算机已注销,如需使用,请刷新此页面。");
146                     //    }
147                     //} else {
148                     //    logoff = true; //记录注销状态
149                     //    //关闭当前页面
150                     //};
151                     closeWindow();
152                 }
153             </script>
154         </table>
155     </div>
156 </body>
157 </html>
时间: 2024-11-09 12:40:30

Javascript调用MsRdpClient 完成Web调用远程桌面(CSDN手动迁移)的相关文章

使用windows调用Linux远程桌面

一.安装所需要的软件 yum install -y xrdp yum install -y vnc* chkconfig xrdp on chkconfig vncserver on 二.修改配置 a添加用户:useradd herry b.设置vnc验证密码:su - herry :  vncpasswd c.修改配置: 1.[[email protected] ~]# vim /etc/sysconfig/vncservers # The VNCSERVERS variable is a l

使用linux命令行界面调用windows远程桌面

x-server原理:http://blog.chinaunix.net/uid-20672559-id-3431735.html 一.windows:192.168.0.106 1.安装Xming,他是一个X-server 2.调试CRT,将所有来自远程主机22端口的请求都转发到本机windows上,勾选转发X11数据.例如: 二.linux:192.168.0.108 1.安装省略,都在下面A~C. A.先装 yum install -y xterm B.再装 yum install -y

远程桌面发送“Ctrl+Alt+Delete”组合键调用任务管理器

向远程桌面发送"Ctrl+Alt+Delete"组合键的两种方法? 1.在本地按下Ctrl+Alt+End,可以成功发送"Ctrl+Alt+Delete"组合键! 2.刚才上google查找时发现了另一个方法(比较土的方法,但有趣) 打开远程电脑的输入法,点击使用"软键盘",先按下本地键盘的Ctrl和Alt键,再点远程"软键盘"的"Del"键,就可以成功发送"Ctrl+Alt+Delete&quo

编辑美化图片,保存至本地,Adobe出品(支持IOS,android,web调用)免费插件

本例以web调用做为例子,本插件支持主流浏览器,IE要9以上,移动设备,触屏设备也支持,能自适应屏幕大小. 使用效果: 工具还是很丰富的,编辑完成之后,可以保存图片至本地目录. 使用说明: 1,需要在线注册账号,申请apikey,地址:https://creativesdk.adobe.com/docs/web,这个apikey在代码调用时需要.这里也有详细的api文档,其他功能请参考文档说明,不过文档是英文的. 2,要编辑的图片必须有固定的地址,可以被网络访问到. 示例源代码,以web调用为例

Web调用Linux客户端remmina运维

相信你遇到过这样的场景,在浏览器网页中点击QQ图标咨询,就能唤起本机的装的qq或tim,下载百度网盘的资源的时候,点击链接浏览器会启动本地百度云进行下载. 最近因为项目需要,也要实现类似的操作,不过需求是在界面版的Linux系统上,网上大多数的教程都是Windows版的内容,Linux的讲解比较少,下面我们就一起来看下,Web调用Linux客户端remmina实现ssh.sftp或vnc登录的过程,从编写执行到打包安装的一条龙服务是怎么实现的. let's start~ 先来大概了解下原理,we

BizTalk调用WS-Security的web services

最近做个项目,biztalk跟OTM(Oracle Transportation Management)系统做对接,双方通过web services通讯,这部分是BizTalk调用OTM的web services. OTM的云服务,仅支持WS-Security的Username Token验证方式. 所以需要使用UsernameToken Web Service Security Policy,并使用HTTPS加密此SOAP消息的传输. OTM发布的web services是基于java的,也就

远程桌面web连接

? 我们可以利用web浏览器搭配远程桌面技术来连接远程计算机,这个功能被称为远程桌面web连接(Remote desktop web connection),要享有此功能,请先在网络上一台windows server 2012计算机内安装远桌面web访问角色服务与web服务器iis,客户端计算机通过网页浏览器连接到远程桌面web访问网站后,再通过此网站来连接远程计算机. 注:可以同时将远程桌面web访问与iis网站安装在要被连接的远程计算机上. 远程桌面web访问网站的设置 先在远程桌面web访

延迟调用或多次调用第三方的Web API服务

当我们调用第三方的Web API服务的时候,不一定每次都是成功的.这时候,我们可能会再多尝试几次,也有可能延迟一段时间再去尝试调用服务. Task的静态方法Delay允许我们延迟执行某个Task,此方法可以让我们做到延迟一段时间再去调用服务:多尝试几次调用如何实现呢?可以用循环遍历. 在"使用HttpClient对ASP.NET Web API服务实现增删改查"中,创建了一个ASP.NET Web API项目,本篇沿用此Web API服务. 在ASP.NET Web API项目的同一个

lanproxy可支持任何 tcp 上层协议(ssh 访问、web 服务器访问、远程桌面...)

lanproxy 是一个将局域网个人电脑.服务器代理到公网的工具,目前仅支持 tcp 流量转发,可支持任何 tcp 上层协议(ssh 访问.web 服务器访问.远程桌面...).与目前市面上的花生壳.TeamView.GoToMyCloud 等等类似,但胜在开源,不受限制. 作者:@小飞 地址:http://git.oschina.net/fengfei/lanproxy http://www.oschina.net/news/80909/2016-oschina-git-top-50