请问我用C++做了一个windows service, 如何才能调用有界面的应用程序?

ainol 2007-06-06 06:21:34
我的service调用一个有界面的应用程序,虽然可以调起来,只能在进程里查看到,但是看不到它的界面!!! 为什么?
另外如何让它以管理员身份运行? 谢谢!
...全文
497 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
anjuta_c 2007-06-07
  • 打赏
  • 举报
回复
几天没来,分都让其他人得了,唉!!
ainol 2007-06-07
  • 打赏
  • 举报
回复
嗯,不错! 改成 SERVICE_INTERACTIVE_PROCESS | SERVICE_WIN32_OWN_PROCESS果然可以了!
jazy 2007-06-07
  • 打赏
  • 举报
回复
CreateService时
service type选SERVICE_INTERACTIVE_PROCESS即可
ainol 2007-06-07
  • 打赏
  • 举报
回复
我想在打包时,服务安装这个过程中就设置发,如何写程序?
Starting an Interactive Client Process in C++
这文章看过了,不实用! 要用到用户名和密码的,安装软件,不太可能知道管理员密码的
feimingbiao 2007-06-07
  • 打赏
  • 举报
回复
这个是安装包应该做的事情,市面上流行的安装软件都可以安装Service吧。

如果一定要在自己程序里面改,可以用SCM的一些API,你这个情况

OpenService然后ChangeServiceConfig就可以了。
ainol 2007-06-07
  • 打赏
  • 举报
回复
谢谢楼上各位!!!
"服务选项“允许和桌面交互”里边打上勾试一下", 这样是可以出现交互界面了! 但如何通过程序设置为“允许和桌面交互”?
Realkerk 2007-06-06
  • 打赏
  • 举报
回复
ls都正解
DentistryDoctor 2007-06-06
  • 打赏
  • 举报
回复
Starting an Interactive Client Process in C++
读一下MSDN中的这篇文章
anjuta_c 2007-06-06
  • 打赏
  • 举报
回复
熟悉一下windows station的概念

windows只有一个交互式(坐在电脑前登陆交互)的station就是win sta0,只有和这个sta0关联的进程才可以和桌面交互。

而windows service一般都是以system登陆的(就是console登陆)。这个system用户有和它相关的station,而这个station不是可以交互的station,services不能和桌面交互。

再服务选项“允许和桌面交互”里边打上勾试一下

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧