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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
以System用户运行的系统及服务,无法显示界面
在开发守护进程时,遇到一个问题,发了一天时间,才找到问题的思路。特记录下:[问题]将A.exe注册为服务,通过执行WinExec("B.exe的完整路径"{非注册服务}, SW_HIDE),启动B.exe时,在任务管理器中也存在相应进程,但是**无法显示界面**,这是什么原因?[原因]因为A.exe是系统权限,它在session 0,而B.exe他是session1.当A程序运行在session0...
以SYSTEM用户运行CMD
在SCCM 经常会以NT AUTHOR\SYSTEM帐户操作。    安以下步骤可以以SYSTEM帐户打开一个CMD窗口。        1. 从微软网站下载PSTool。        2. 以管理员运行CMD,进入到解压的PSTool目录。        3. 运行psexec -i -s cmd.exe              4. 在新打开的CMD中运
以System帐户身份运行应用程序
PsExec命令工具以SYSTEM身份运行进程,这里可以借助PsExec命令打开CMD命令提示符窗口,然后在命令提示符下运行DIR命令查看该文件下的内容,步骤如下: ⑴ 以管理员身份登录系统,打开CMD命令提示符窗口。 ⑵ 在命令提示符下运行以下命令,以SYSTEM帐户身份打开另一个CMD窗口。 PsExec -i -d -s CMD ⑶ 在新打开的命令提示符窗口下运行以下命令: DIR /a "C:\System Volume Information" 即可查看C:\System Volume Information文件夹下的内容,这说明当前的命令以SYSTEM帐户身份运行。
以系统最高权限system运行程序
以系统最高权限system运行程序以系统最高权限system运行程序以系统最高权限system运行程序以系统最高权限system运行程序以系统最高权限system运行程序以系统最高权限system运行程序以系统最高权限system运行程序
进入Windows管理的SYSTEM用户状态获得超级权限
对于windows用户而言,administrator用户级别的权限几乎不会有任何操作限制,但是打开任务管理器,会存在一个或多个SYSTEM用户的进程,而且大部分SYSTEM用户的进程都无法结束和停止,SYSTEM用户是Windows操作系统的内置系统用户,所在权限组为NT_AUTHOR。 对计算机用户而言,获取SYSTEM用户权限可以完成更多的系统级别的操作和管理,不过使用SYSTEM用户的操作
localsystem以指定用户身份运行程序
做了个服务system账号运行的,想查看登录用户屏幕并控制,看屏幕可以用copyfromscreen,但是不带鼠标,想带鼠标就得api,控制就是mouse_event keyborard_event的api了,这个很简单不是重点不提,关键是截图的时候无论copyfromscreen还是api都需要一个handle,system运行的服务直接截图那么用的就是system的handle,所以是个黑屏或者根本没法截,这时就需要程序在用户账号下运行,可以在服务里嵌入一个exe,然后在账户身份下运行这个exe截图并返
WINDOWS下system用户至高无上的权限
WINDOWS下system用户至高无上的权限 大家知道,SYSTEM是至高无上的超级管理员帐户。默认情况下,我们无法直接在登录对话框上以SYSTEM帐户的身份登录到Windows桌面环境。实际上SYSTEM帐户早就已经“盘踞”在系统中了。想想也是,连负责用户验证的Winlogon、Lsass等进程都是以SYSTEM身份运行的,谁还能有资格检验SYSTEM呢?既然SYSTEM帐户早就已经出现在系
用户系统(custom system)
用户注册功能,用户登陆功能(未使用数据库,写入数据都存在一个集合中),同步方式开发,有参考价值的地方在js做的表单验证那里
以system身份运行程序(易语言源码)
以system身份运行程序,用易语言编写,优质源码
system用户启动器
可以以system用户运行任何程序,提高权限