详解运用Windows远程桌面的那点事
作者:佚名 来源:xp下载站 时间:2013-05-06 08:33
为了方便用户连接远程桌面,从Windows2000Server开始微软公司就为用户提供远程桌面技术,但是随着互联网科技日新月异的发展使得远程桌面连接水平不断攀升,远程控制软件也迅速进入了人们的视野,越来越多的办公人员希望利用远程技术来提高工作效率。本教程就给大家讲解Windows远程桌面的那点事.
个人不喜欢服务端程序,以Windows操作系统作为运行平台,但是,很多时候,迫于环境现状,需要让自己的程序实现跨平台。
在开发全新的金山游戏运营平台时,发现:虽然大部分游戏,服务端程序运行在Linux服务器,但是,仍有例外。几款最近代理的游戏,服务端运行在Windows服务器上。西山居开发的游戏,服务端集群架构,既有Windows服务器,又有Linux服务器。
游戏运行系统的Knose程序,我最初是在Linux下开发的,后来才实现了兼容Windows的跨平台版本。
在Linux下,Knose为“父子进程+指令处理线程池+独立功能多线程”结构;在Windows上,将Knose父子进程结构,拆分成了knose_daemon.exe(Service服务程序)和knose.exe(主程序),由knose_daemon.exe启动knose.exe。
遇到了问题:按照运营维护需求,knose.exe以及通过它启动的游戏服务端进程,需要有“窗口界面”,显示在桌面中。而knose_daemon.exe是以服务方式运行的,无窗口界面,knose_daemon.exe启动的knose.exe,窗口界面没有弹出来。
为了解决这个问题,我在install.bat中,用了Windows的sc命令,将knose_daemon.exe启动为系统服务,“type=interacttype=own”设置了“允许桌面与服务交互”。在本机(WindowsXPSP3)测试,knose.exe的窗口界面以及通过它启动的游戏进程窗口界面,都弹出来了。
@echooff
sccreate"KingeyesKnose"binPath="%CD%\knose_daemon.exe"DisplayName="KingeyesKnoseDaemon"start=autotype=interacttype=own
scdescriptionKingeyesKnose"金山游戏运营系统KingEyesKnose守护进程。"
scstartKingeyesKnose
于是将程序发布到WindowsServer2003服务器上,远程桌面连接上去,发现knose.exe的窗口界面始终弹不出来。
后来,同事发现,原来是“远程桌面”惹的祸:
远程桌面客户端mstsc有一个/console参数,模式等同于本地终端显示器登录,/console不会去占用非/console远程桌面,远程桌面允许两个正常连接和一个控制台/console方式连接,并且正常连接和/console连接的桌面操作不能相互看见,只有通过/console参数远程桌面连接到Windows2003服务器,才能够看到弹出的knose.exe窗口界面。
在WindowsXPSP3以上版本,/console参数改名为/admin,需要用mstsc/admin启动远程桌面:
连上后,终于能够看到由knose_daemon.exe启动的knose.exe程序窗口,以及由knose.exe启动的游戏服务端进程窗口了。
- 上一篇:如何选到适合自己的Windows版本?
- 下一篇:解决WindowsXP网络故障教程