2 nijihong1234 nijihong1234 于 2015.07.07 09:39 提问

以system用户运行的系统及服务,无法显示java界面

标题:csdn无法写标题了,我的问题在描述里,谢谢在线等
我用一个java程序作为一个系统服务启动(**用户为System**),现在想让他定时监控一个
程序是否启动,如果没有启动调用runtime.getRuntime.exec 启动一个exe程序(这个程序使用swt写的)

现在的问题是启动这个exe时,能够执行runtime,在任务管理器中也存在相应进程
但是**无法显示界面**,

问题总结描述:以system用户运行的系统及服务,无法显示java界面(包括awt,swt,swing我都试过)
请教:怎么以一个system用户启动的系统级服务,来启动一个java程序,可以让其显示界面

1个回答

oyljerry
oyljerry   Ds   Rxr 2015.07.07 15:46

这是因为服务程序是系统权限,它在session 0,而普通用户程序它是session 1等,你当前桌面就是session1等。
而你SYSTEM用户启动的程序,它缺省是运行在session 0,也就是系统服务窗口,所以你当前桌面上是看不到的
这种情况你需要用CreateProcessAsUser() API等方式模拟当前登陆用户方式来启动应用程序

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Windows服务(Windows Service,system权限)程序显示界面与用户交互(xp,win7通用)
Windows服务(Windows Service,system权限)程序显示界面与用户交互(xp,win7通用)
[置顶] Windows服务(Windows Service,system权限)程序显示界面与用户交互(xp,win7通用)
将程序设置为服务,在系统登录界面自动启动(解决:不间断运行的程序遇到电脑重启,且电脑登录需要账号和密码)
Java基础 GUI图形用户界面 布局 事件 简易记事本 双击运行jar
ATM系统(java)功能齐全!Windows图形界面javaFX,直接运行!
如何使MFC编写的程序作为服务运行,并正常显示界面
反浏览器劫持病毒,超越IE修复极限,立足永久修复的治本之点。同时具备IE修复、杀QQ病毒、杀各种以驱动服务方式运行的病毒、杀各类木马(无进程木马、插入线程木马)、清除各种间谍广告程序、各种流行病毒及系统救援与日志上报于一身,一套等于多套。修复易死灰复燃顽固性、古怪性恶意网页所破坏的不能完全彻底修复的IE,专门清除间隔一段时间自动弹出恶意网页、多开几次IE及重起系统后又会被反复篡改的不能从注册表、进程、服务、启动项等清除的、挥之不去、除之不尽的奇怪恶意代码;一次性根除在用户在打开文本文件、可执行
酒库管理系统 java 入门 图形用户界面
在SYSTEM权限下以当前用户权限运行程序