如何用VB实现远程桌面并运行指定程序? 本帖最后由 tansx 于 2011-12-29 05:19:41 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那就通过调用远程终端mstsc.exe好了 直接调用远程终端mstsc.exe,会弹出登录界面,如何能做到按指定用户名和密码自动登录?能不能做到不让用户看到登录界面,只看到指定运行的程序界面? http://www.s-code.com/default.aspx?aspxerrorpath=/products/vncmanag/download.aspx 服务端要有程序的。VNC网上几个代码的。说简单的点就是服务端程序把桌面不停的截图发给操作端。操作端把鼠标和键盘的消息发给服务端程序 这个都是在服务器的"远程登录"中设置的.否则的话很容易的就从桌面运行服务器上的程序, 这黑起来也太简单了吧.一般来说需要将windows中的终端服务设置成应用服务器模式, 这样就不限制登录的用户数量了.否则默认为管理模式,只能同时最多2个用户登录. 请使用winsock 建立连接,然后远程发送字符串 "your_path\your_exe_filename.exe", 另一端用 shell "your_path\your_exe_filename.exe" 即可执行。这个方法你要写两个软件,一个在主机运行,另一个在服务器端运行。以下是MSDN的内容要创建一个 TCP 服务器,请按照以下步骤执行: 创建新的 Standard EXE 工程。将缺省窗体的名称改为 frmServer。将窗体的标题改为“TCP 服务器”。在窗体中放入一个 Winsock 控件,并将它的名字改为 tcpServer。在窗体上添加两个 TextBox 控件。将第一个命名为 txtSendData,第二个为 txtOutput。为窗体添加如下的代码。 Private Sub Form_Load()'将 LocalPort 属性设置为一个整数。'然后调用 Listen 方法。tcpServer.LocalPort = 1001tcpServer.Listen frmClient.Show '显示客户端的窗体。End SubPrivate Sub tcpServer_ConnectionRequest _(ByVal requestID As Long)'检查控件的 State 属性是否为关闭的。'如果不是,'在接受新的连接之前先关闭此连接。If tcpServer.State <> sckClosed Then _tcpServer.Close'接受具有 requestID 参数的'连接。tcpServer.Accept requestIDEnd SubPrivate Sub txtSendData_Change()'名为 txtSendData 的 TextBox 控件中'包含了要发送的数据。当用户往文本框中'键入数据时,使用 SendData 方法'发送输入的字符串。tcpServer.SendData txtSendData.TextEnd SubPrivate Sub tcpServer_DataArrival _(ByVal bytesTotal As Long)'为进入的数据声明一个变量。'调用 GetData 方法,并将数据赋予名为 txtOutput '的 TextBox 的 Text 属性。Dim strData As StringtcpServer.GetData strDatatxtOutput.Text = strDataEnd Sub上面的步骤创建了一个简单的服务器应用程序。为了使它能够工作,还必须为它创建一个客户端的应用程序。要创建 TCP 客户端,请按照以下步骤执行: 在工程中添加一个新的窗体,将其命名为 frmClient。将窗体的标题改为“TCP Client”。在窗体中添加一个 Winsock 控件,并将其命名为 tcpClient。在 frmClient 中添加两个 TextBox 控件。将第一个命名为 txtSend,第二个为 txtOutput。在窗体上放一个 CommandButton 控件,并将其命名为 cmdConnect。将 CommandButton 控件的标题改为 Connect。在窗体中添加如下的代码。 重点 必须将 RemoteHost 属性值修改为您的计算机的名字。Private Sub Form_Load() 'Winsock 控件的名字为 tcpClient。 '注意:要指定远程主机,可以使用 ' IP 地址(例如:"121.111.1.1"),也可以使用 '计算机的“好听的名字”如下所示。 tcpClient.RemoteHost = "RemoteComputerName" tcpClient.RemotePort = 1001End SubPrivate Sub cmdConnect_Click() '调用 Connect 方法,初始化连接。 tcpClient.ConnectEnd SubPrivate Sub txtSendData_Change() tcpClient.SendData txtSend.TextEnd SubPrivate Sub tcpClient_DataArrival _(ByVal bytesTotal As Long) Dim strData As String tcpClient.GetData strData txtOutput.Text = strDataEnd Sub 在服务器端中能运行“frmClient.Show '显示客户端的窗体。”这行代码吗?我的要求是:要运行的程序在远程端,我的电脑不具备该程序所运行的环境,该程序在远程端运行,但能我的电脑操作该程序。 其实上面的回答可以采用的调用WINDOWS的远程桌面连接可能不是很靠谱,但是你自己写个连接3389端口的程序更不靠谱有些事情可以简单的实现,不要想太复杂 程序只安装在一台(A)电脑上,但需要在其他几台电脑(B、D、C)上显示在远程A电脑上的程序。 如果你只是想让远程计算机运行某个程序,而不是要察看远程桌面,只要用 shell 命令即可。举个例子,比如运行计算器,只要添加代码 shell "c:\windows\system32\calc.exe" 即可。 你用 RAdmin 或 PCAnyWhere 等工具实现不就可以了,自己写麻烦很多,如果想了解技术,可以看看我资源里的这个代码,不过很粗浅:VB源码:远程桌面显示范例 winsock 如何去掉Webbrowser控件的左右、上下移动条?(Webbrowser控件比较小时会出现) 上榜了,散分 高手帮帮忙啊? 怎么用VBScript实现对客户机本地文件的操作访问和修改其注册表???100分 高手请进(一个奇怪问题) 增量备份,超难度,看看也行。 关于textbox 我的水平不算牛,有没有公司要我,我在上海,薪水要求够吃够住就行. VB如何调用SQL Server7.0? 你们还有信仰么!! 新手 新手 求高手指点!!!亲!!
说简单的点就是服务端程序把桌面不停的截图发给操作端。
操作端把鼠标和键盘的消息发给服务端程序
这个都是在服务器的"远程登录"中设置的.
否则的话很容易的就从桌面运行服务器上的程序, 这黑起来也太简单了吧.
一般来说需要将windows中的终端服务设置成应用服务器模式, 这样就不限制登录的用户数量了.
否则默认为管理模式,只能同时最多2个用户登录.
将缺省窗体的名称改为 frmServer。
将窗体的标题改为“TCP 服务器”。
在窗体中放入一个 Winsock 控件,并将它的名字改为 tcpServer。
在窗体上添加两个 TextBox 控件。将第一个命名为 txtSendData,第二个为 txtOutput。
为窗体添加如下的代码。
Private Sub Form_Load()
'将 LocalPort 属性设置为一个整数。
'然后调用 Listen 方法。
tcpServer.LocalPort = 1001
tcpServer.Listen
frmClient.Show '显示客户端的窗体。
End SubPrivate Sub tcpServer_ConnectionRequest _
(ByVal requestID As Long)
'检查控件的 State 属性是否为关闭的。
'如果不是,
'在接受新的连接之前先关闭此连接。
If tcpServer.State <> sckClosed Then _
tcpServer.Close
'接受具有 requestID 参数的
'连接。
tcpServer.Accept requestID
End SubPrivate Sub txtSendData_Change()
'名为 txtSendData 的 TextBox 控件中
'包含了要发送的数据。当用户往文本框中
'键入数据时,使用 SendData 方法
'发送输入的字符串。
tcpServer.SendData txtSendData.Text
End SubPrivate Sub tcpServer_DataArrival _
(ByVal bytesTotal As Long)
'为进入的数据声明一个变量。
'调用 GetData 方法,并将数据赋予名为 txtOutput
'的 TextBox 的 Text 属性。
Dim strData As String
tcpServer.GetData strData
txtOutput.Text = strData
End Sub上面的步骤创建了一个简单的服务器应用程序。为了使它能够工作,还必须为它创建一个客户端的应用程序。要创建 TCP 客户端,请按照以下步骤执行: 在工程中添加一个新的窗体,将其命名为 frmClient。
将窗体的标题改为“TCP Client”。
在窗体中添加一个 Winsock 控件,并将其命名为 tcpClient。
在 frmClient 中添加两个 TextBox 控件。将第一个命名为 txtSend,第二个为 txtOutput。
在窗体上放一个 CommandButton 控件,并将其命名为 cmdConnect。
将 CommandButton 控件的标题改为 Connect。
在窗体中添加如下的代码。
重点 必须将 RemoteHost 属性值修改为您的计算机的名字。Private Sub Form_Load()
'Winsock 控件的名字为 tcpClient。
'注意:要指定远程主机,可以使用
' IP 地址(例如:"121.111.1.1"),也可以使用
'计算机的“好听的名字”如下所示。
tcpClient.RemoteHost = "RemoteComputerName"
tcpClient.RemotePort = 1001
End SubPrivate Sub cmdConnect_Click()
'调用 Connect 方法,初始化连接。
tcpClient.Connect
End SubPrivate Sub txtSendData_Change()
tcpClient.SendData txtSend.Text
End SubPrivate Sub tcpClient_DataArrival _
(ByVal bytesTotal As Long)
Dim strData As String
tcpClient.GetData strData
txtOutput.Text = strData
End Sub
在服务器端中能运行“frmClient.Show '显示客户端的窗体。”这行代码吗?
我的要求是:要运行的程序在远程端,我的电脑不具备该程序所运行的环境,该程序在远程端运行,但能我的电脑操作该程序。
调用WINDOWS的远程桌面连接可能不是很靠谱,但是你自己写个连接3389端口的程序更不靠谱
有些事情可以简单的实现,不要想太复杂
程序只安装在一台(A)电脑上,但需要在其他几台电脑(B、D、C)上显示在远程A电脑上的程序。
VB源码:远程桌面显示范例