我使用下面的代码来控制从Java程序的Windows服务
public class PostgresService2 { public static void main(String[] args) { try { W32ServiceManager serviceManager = new W32ServiceManager(); serviceManager.open(Winsvc.SERVICE_STOP); W32Service service = serviceManager.openService("DBService",Winsvc.SERVICE_ACCEPT_STOP); service.stopService(); service.close(); } catch (Exception ex) { ex.printstacktrace(); } } }
这给Windows7(64位)机器上的错误
com.sun.jna.platform.win32.Win32Exception: Access is denied. at com.sun.jna.platform.win32.W32Service.queryStatus(W32Service.java at com.sun.jna.platform.win32.W32Service.waitForNonPendingState(W32S at com.sun.jna.platform.win32.W32Service.stopService(W32Service.java at chs.capitalmigrate.ui.PostgresService2.main(PostgresService2.java
运行该命令的shell具有pipe理权限。 我如何提供完整的访问?
Java蓝牙应用程序 – API,框架,库?
在Linux上使用modal dialog时,显示繁忙游标的Swing渲染问题
调用Runtime.getRuntime()。availableProcessors()
Java:获取窗口颜色
从Java Servlet中冒充用户
如何确定Java VM是否安装在Windows上?
Java Process的常驻内存使用量(RSS)不断增长
在Ubuntu上安装Eclipse / Java
SocketoutputStream的线程安全性
我正在使用SC_MANAGER_ALL_ACCESS,这是有效的。 不知道这是否有帮助。
W32ServiceManager serviceManager = new W32ServiceManager(); serviceManager.open(Winsvc.SC_MANAGER_ALL_ACCESS); W32Service service = serviceManager.openService("servicename",Winsvc.SC_MANAGER_ALL_ACCESS);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。