你用过远程桌面连接吗?
我相信很多人都用过了,远程桌面现在可以用在Window Xp和Windows 2003 Server上面。而这两者都是会自己带有远程桌面连接,位置是:开始|所有程序|附件|通讯|远程桌面连接
你可以看到熟悉的界面:
但是,当本地不是Window Xp和Windows 2003 Server操作系统的时候,比如说是98系统的时候,你如何连接远程桌面呢?所以,有了下面的问题:
你用过远程桌面 Web 连接吗?
事实上,只要在一台服务器上部署这个东东,你就可以在任何有IE5以上的操作系统来连接远程桌面了。那么,How?
安装远程桌面 Web 连接
1. |
打开“控制面板”中的“添加或删除程序”。 |
2. |
单击“添加/删除 Windows 组件”。 |
3. |
单击“应用程序服务器”,然后单击“详细信息”。 |
4. |
选择“Internet 信息服务”,然后单击“详细信息”。 |
5. |
在“Internet 信息服务的子组件”列表中,选择“万维网服务”,然后单击“详细信息”。 |
6. |
在“万维网服务的子组件”列表中,单击“远程桌面 Web 连接”复选框。单击“确定”。再次单击“确定”,接着第三次单击“确定”。 |
7. |
在“Windows 组件”向导中,单击“下一步”。 |
8. |
验证在“连接类型:”框中选中 RDP-Tcp 连接,然后单击“下一步”开始安装“远程桌面 Web 连接”。 |
使用远程桌面 Web 连接连接到其他计算机
1. |
确保在 Web 服务器上已经安装并运行“远程桌面 Web 连接”。 |
2. |
确保客户端计算机有活动的网络连接,并且 DNS 服务器服务(或其他名称解析方法)正在工作。 |
3. |
在客户端计算机上启动 Microsoft Internet Explorer。 |
4. |
在“地址”框中,键入管理“远程桌面 Web 连接”的 Web 服务器的主目录统一资源定位符 (URL)。 URL 的格式为“http://”,后跟服务器的 Windows 网络名称,然后是包含“远程桌面 Web 连接”文件的目录路径(默认为 /Tsweb/)。(注意是正斜线标记。)例如,如果您的 Web 服务器在 WINS 服务器上注册为 "Admin1",那么请在“地址”框中键入:http://admin1/tsweb/,然后按 Enter。“远程桌面 Web 连接”页出现在屏幕上。 |
5. |
在“服务器”中,键入要连接的远程计算机的名称或 IP 地址。 |
6. |
还可以为该连接指定屏幕大小和登录信息。 |
7. |
还可以选中“发送该连接的登录信息”复选框,并键入用户名和域。 |
8. |
单击“连接”。 |
注意
• | “远程桌面 Web 连接”要求使用 Internet Explorer 5 或更高版本。 |
• | 如果正在连接的计算机不属于局域网,则您可能要指定该计算机的完全合格的域名。 |
一个问题是:如果不是标准的3389端口,该怎么连接呢?
我们知道,在非Web方式,可以直接在服务器名称后面加端口就可以比如:localhost:3389
我们在Web方式能不能呢?答案是,目前是不能的。
那么,有没有什么方法呢?
当然有,只要修改Web 页面Html文本就可以做到。
我查到资料:
有MsRdpClient.AdvancedSettings2.RDPPort 这么一个属性,所以,我们只要把服务器名称里面的端口部分拆分出来,单独赋值给这个属性就OK了。
通过观察代码,我们找到了sub BtnConnect这函数,加入这么一段:
' Port
if InStr (serverName, " : " ) = 0 then
' 没有输入端口
Port = 3389
else
Dim arr
arr = Split (serverName, " : " )
serverName = arr( 0 )
Port = arr( 1 )
end if
还有赋值一段:
最终修改完之后的函数完整代码是这样的:
Dim serverName
'server
if not Document.all.Server.value = "" then
serverName = Document.all.Server.value
else
serverName = Document.location.hostname
end if
Dim Port
'Port
if InStr(serverName,":")=0 then
'没有输入端口
Port=3389
else
Dim arr
arr = Split(serverName,":")
serverName = arr(0)
Port = arr(1)
end if
serverName = trim(serverName)
'MsgBox(Port)
'MsgBox(serverName )
On Error Resume Next
MsRdpClient.server = serverName
If Err then
msgbox L_InvalidServerName_ErrorMessage,0,L_RemoteDesktopCaption_ErrorMessage
Err.Clear
exit sub
end if
On Error Goto 0
'serverName name text
Document.all.srvNameField.innerHtml = serverName
'Username/Domain
if Document.all.CheckBoxAutoLogon.checked then
MsRdpClient.UserName = Document.all.UserName.Value
MsRdpClient.Domain = Document.all.Domain.Value
end if
'Resolution
MsRdpClient.FullScreen = FALSE
select case document.all.comboResolution.value
case "1"
MsRdpClient.FullScreen = TRUE
resWidth = screen.width
resHeight = screen.height
case "2"
resWidth = "640"
resHeight = "480"
case "3"
resWidth = "800"
resHeight = "600"
case "4"
resWidth = "1024"
resHeight = "768"
case "5"
resWidth = "1280"
resHeight = "1024"
case "6"
resWidth = "1600"
resHeight = "1200"
end select
MsRdpClient.DesktopWidth = resWidth
MsRdpClient.DesktopHeight = resHeight
MsRdpClient.Width = resWidth
MsRdpClient.Height = resHeight
'Device redirection options
MsRdpClient.AdvancedSettings2.RedirectDrives = FALSE
MsRdpClient.AdvancedSettings2.RedirectPrinters = TRUE
MsRdpClient.AdvancedSettings2.RedirectPorts = FALSE
MsRdpClient.AdvancedSettings2.RedirectSmartCards = FALSE
MsRdpClient.AdvancedSettings2.RDPPort = Port
'FullScreen title
MsRdpClient.FullScreenTitle = L_FullScreenTitle_Text & "(" & serverName & ")"
'Display connect region
Document.all.loginArea.style.display = "none"
Document.all.connectArea.style.display = "block"
'Connect
MsRdpClient.Connect
end sub