Javascript调用MsRdpClient 完成Web调用远程桌面详解程序员

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

<!DOCTYPE html> 
<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <meta http-equiv="x-ua-compatible" content="IE=8"> 
    <title>RDP</title> 
    <style type="text/css"> 
        body { 
            padding: 0; 
            margin: 0; 
        } 
    </style> 
</head> 
<body> 
    <script type="text/javascript"> 
  //if ("条件") {  
         //   if (window.opener.SetRDPID) { //调用打开此页的父页面中的方法 
        //        window.opener.SetRDPID("123"); 
        //    }; 
// 连接远程桌面的方法 
            function RdpConnect() { 
                var userName, Pwd, server, domain, port; 
                userName = "administrator"; //用户名 
                server = "192.168.1.117"; //IP 
                port = 3389; //端口 
domain = "myDomain";  //域 
                if (!MsRdpClient.Connected) { 
                    try { 
                        document.getElementById("connectArea").style.display = "block"; //显示远程桌面div 
                        MsRdpClient.Server = server; //设置远程桌面IP地址 
                        try { 
                            MsRdpClient.AdvancedSettings2.RedirectDrives = false; 
                            MsRdpClient.AdvancedSettings2.RedirectPrinters = false; 
                            MsRdpClient.AdvancedSettings2.RedirectPrinters = false; 
                            MsRdpClient.AdvancedSettings2.RedirectClipboard = true; 
                            MsRdpClient.AdvancedSettings2.RedirectSmartCards = false; 
                        } catch (ex) { 
                        }; 
 
 
                        MsRdpClient.Domain = domain;//域 
                        MsRdpClient.UserName = userName; 
                        //MsRdpClient.AdvancedSettings2.ClearTextpassword = Pwd; //密码 
                        MsRdpClient.AdvancedSettings2.RDPPort = port; //端口 
                        if (document.getElementById("ColorDepth").value == 1) { 
                            ColorDepth16(); 
                        } else { 
                            ColorDepthDefault(); 
                        }; 
                        MsRdpClient.FullScreen = 1;  //是否全屏 0否 1是 
                        if (document.getElementById("Screen").value == 1) { 
                            Screen1(); 
                        } else { 
                            ScreenDefault(); 
                        }; 
                        try { 
                            //如果不支持,继续下面操作 
                            MsRdpClient.AdvancedSettings7.EnableCredSspSupport = true; 
                            MsRdpClient.AdvancedSettings5.AuthenticationLevel = 2; 
                        } catch (ex) { 
                        } finally {                 
                            MsRdpClient.Connect();  //连接远程桌面 
                        } 
                    } catch (ex) { 
                        alert("发生错误:" + ex.message + "请尝试刷新页面重新连接。"); 
                    }; 
                } else { 
                    alert("已连接!"); 
                }; 
            }; 
            //var logoff = false; //存储是否正常注销 
            //全屏 
            function FullScreen() { 
                if (MsRdpClient.Connected) { 
                    MsRdpClient.FullScreen = 1; 
                }; 
            }; 
            //1024*768 
            function ScreenDefault() { 
                MsRdpClient.Width = 1024; //设置远程桌面 显示区域的宽和高 
                MsRdpClient.Height = 768; 
                MsRdpClient.DesktopWidth = 1024;  //设置 远程桌面的宽和高 
                MsRdpClient.DesktopHeight = 768; 
            }; 
            //800*600 
            function Screen1() { 
                MsRdpClient.Width = 800; //设置远程桌面 显示区域的宽和高 
                MsRdpClient.Height = 600; 
                MsRdpClient.DesktopWidth = 800;  //设置 远程桌面的宽和高 
                MsRdpClient.DesktopHeight = 600; 
            }; 
            //色彩度,默认32位 
            function ColorDepthDefault() { 
                MsRdpClient.ColorDepth = 32; 
            }; 
            //色彩度16位 
            function ColorDepth16() { 
                MsRdpClient.ColorDepth = 16; 
            }; 
            function reSet() { 
                document.getElementById("Screen").selectedIndex = 1; 
                document.getElementById("ColorDepth").selectedIndex = 1; 
            }; 
 
//关闭当前页面 
        function closeWindow() { 
            window.opener = null; 
            window.open("", "_self"); 
            window.close(); 
        }; 
</script> 
    <!--远程桌面参数设置start--> 
    <div style="display:none"><fieldset> 
        分辨率:<select id="Screen"> 
            <option value="1">800*600</option> 
            <option value="2" selected="selected">1024*768</option> 
        </select> 
        色彩度:<select id="ColorDepth"> 
            <option value="1">16位</option> 
            <option value="2" selected="selected">32位</option> 
        </select> 
        <input type="button" value="重置" onclick="reSet()" /> 
    </fieldset> 
    <input type="button" id="connectbutton" value="连接" onclick="RdpConnect();" /></div> 
     <!--远程桌面参数设置end--> 
    <input type="button" class="btn btn-warning" style="width:80px;" value="全屏" onclick="FullScreen()" /> 
    <div id="connectArea" style="display: none;"> 
        <table> 
            <tr> 
                <td> 
                    <object id="MsRdpClient" 
                        classid="CLSID:7584c670-2274-4efb-b00b-d6aaba6d3850" 
                        codebase="msrdp.cab#version=5,2,3790,0" width="1024px" height="768px"> 
                    </object> 
                </td> 
            </tr> 
            <script type="text/javascript"> 
                function MsRdpClient::OnDisconnected(disconnectCode) { 
                    document.getElementById("connectArea").style.display = "none"; 
                    //正常注销,代码为2 
                    //if (disconnectCode != 2) { 
                    //    if (logoff == false) { 
                    //        alert("计算机处于断开状态,请根据提示完成后续步骤:/r/n(1)如果您操作已完成,请刷新页面重新连接并注销;/r/n(2)如果仍需操作,请刷新页面后继续,完毕后请注销。/r/n谢谢您的配合!"); 
                    //    } else { 
                    //        alert("计算机已注销,如需使用,请刷新此页面。"); 
                    //    } 
                    //} else { 
                    //    logoff = true; //记录注销状态 
                    //    //关闭当前页面 
                    //}; 
                    closeWindow(); 
                } 
            </script> 
        </table> 
    </div> 
</body> 
</html>

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/6480.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论