windows服务有什么好?起初大家都会认为它是后台运行,可以在系统启动后自动运行,其实WINDOWS FORM程序一样可以做到它的效果,如写注册表实现系统启动后自动运行,使用hide()函数使其在后台.而且部署和调试起来远比windows服务轻松.
但为了赶时尚 ,我还是用了windows服务,经过无数时间的浪费,终于发现windows服务居然有以下的缺陷:process.MainWindowTitle在WINDOWS FORM中运行正常,而在windows服务中这条语句居然返回的是"",哎,怎么会这样啊?!
请各位高手指点.我程序的意图是在windows服务中得到系统中正在运行的程序名称.

解决方案 »

  1.   

    服务程序是无窗体的,通过process.mainwindowtitle当然是错误的。你可能还没搞清楚服务与普通app的本质区别,服务在系统没有登录的情况下就可以自动运行,而app必须在登录后才能自动运行。
      

  2.   

    to 请各位高手指点.我程序的意图是在windows服务中得到系统中正在运行的程序名称获得谁的,操作系统的?还是service本身的
      

  3.   

    谢谢Knight94的指点,
    我想获得整个操作系统的,请问如何实现?
      

  4.   

    to 我想获得整个操作系统的,请问如何实现?把服务的允许桌面交互属性打开,然后再通过process.MainWindowTitle去获得
      

  5.   

    请问 将允许桌面交互属性打开除了在 计算机管理中打开,在VS2005开发环境也就是我的windows服务代码里打开,如何实现?
      

  6.   

    请问Knight94,
    将允许桌面交互属性打开除了在 计算机管理中打开,在VS2005开发环境也就是我的windows服务代码里打开,如何实现?谢谢
      

  7.   

    感觉还是你对Windows服务和Windows Application区分不清。
      

  8.   

    出了问题不要只是一味抱怨人家的产品如何不好,你自己完不转却先败坏商家名誉....先找找原因查查资料,别说你,多高深的程序师每天都会遇到一些令人头疼的问题,耐下心来仔细查一查相关资料,弄清什么是WINDOWS SERVICE 什么是 WINDOWS APPLICATION 这些问题就好解决了.
      

  9.   

    windows service本来就是不支持GUI的。
    你用它来做它不支持的东西,当然是不行了。
      

  10.   

    其实大家的观点说的已经差不多了,服务就是服务,GUI就是GUI,两者在职责上面有本质的区别.楼主出现问题,我想大概是在系统设计的构架问题.服务不应该依赖于GUI,只有这样,你才能使用服务,如果不能保证这点,就用窗体.
    BTW:服务对开发的要求非常高,调试和测试也非常麻烦.因为你根本无法直接获得它的运行状态,只能通过查看日志来看.