首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

妖哥快来,Windows7服务程序

2012-03-03 
妖哥快来,求助:Windows7服务程序 - C++ Builder / Windows SDK/API我用C++Builder2010写了一个Windows服务

妖哥快来,求助:Windows7服务程序 - C++ Builder / Windows SDK/API
我用C++Builder2010写了一个Windows服务程序,在服务程序中用WinExec调用了我写的另一个exe程序。
这个系统在Windows xp和2003都很好,但在Windows7上有问题,exe程序无法显示在桌面,但进程管理器中查看有此进程。

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

帮帮我啊!

[解决办法]
windows7的服务程序会受到会话的隔离,服务程序运行在session0,用户能看到的在session1,2,...
你可以使用NtOpenProcessToken打开自己的进程令牌,再使用NtDuplicateToken复制令牌,并用NtSetInformationToken更改新令牌的会话id为active console sessionid,由WTSGetActiveConsoleSessionId获得,最后使用CreateProcessInternalW创建进程,注意传入新令牌句柄,还要在STARTUPINFO中设置lpdesktop为WinSta0\Default
[解决办法]
需要,windows7这样做就是不想让你把高特权进程显示给用户
[解决办法]
。刚会了做服务,
WIN7下有了新的问题。关注

热点排行