妖哥快来,求助:Windows7服务程序

junqiang 2011-02-12 12:19:51
我用C++Builder2010写了一个Windows服务程序,在服务程序中用WinExec调用了我写的另一个exe程序。
这个系统在Windows xp和2003都很好,但在Windows7上有问题,exe程序无法显示在桌面,但进程管理器中查看有此进程。

当我在服务中WinExec调用一个一般的程序时,系统提示“交互式服务检测”,点击查看后可正常显示。
但我这个exe被我设置不显示在任务栏中,被WinExec时任何反应都没有,仅是进程管理器中有。

帮帮我啊!
...全文
299 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
junqiang 2011-04-14
  • 打赏
  • 举报
回复
Win7已不建议这样做,那就不这样做了。
谢谢各位!
BCBPLC 2011-02-17
  • 打赏
  • 举报
回复
。刚会了做服务,
WIN7下有了新的问题。关注
Lactoferrin 2011-02-12
  • 打赏
  • 举报
回复
需要,windows7这样做就是不想让你把高特权进程显示给用户
Lactoferrin 2011-02-12
  • 打赏
  • 举报
回复
这样就不需要把服务设置为交互式服务了
Lactoferrin 2011-02-12
  • 打赏
  • 举报
回复
windows7的服务程序会受到会话的隔离,服务程序运行在session0,用户能看到的在session1,2,...
你可以使用NtOpenProcessToken打开自己的进程令牌,再使用NtDuplicateToken复制令牌,并用NtSetInformationToken更改新令牌的会话id为active console sessionid,由WTSGetActiveConsoleSessionId获得,最后使用CreateProcessInternalW创建进程,注意传入新令牌句柄,还要在STARTUPINFO中设置lpdesktop为WinSta0\Default
junqiang 2011-02-12
  • 打赏
  • 举报
回复
关键是我已经设置为交互式服务了,按说他已经可以运行在用户桌面了啊?还需要这么多操作吗

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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