GEv*_*ing 8 java winapi windows-services jna
我正在编写一个实用程序来启动和停止Windows服务.该程序将分布在具有不同级别用户权限的许多计算机上,因此我不想使用命令行.我尝试过使用JNA,
import com.sun.jna.platform.win32.W32Service;
import com.sun.jna.platform.win32.W32ServiceManager;
import com.sun.jna.platform.win32.Winsvc;
/**
*
* @author
*/
public class WindowsServices {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try
{
// TODO code application logic here
W32ServiceManager serviceManager = new W32ServiceManager();
W32Service service = serviceManager.openService("uvnc_service", Winsvc.SERVICE_ACCEPT_STOP);
service.stopService();
service.close();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行该程序时,我收到以下错误
com.sun.jna.platform.win32.Win32Exception:句柄无效.位于windowsservices.WindowsServices.main的com.sun.jna.platform.win32.W32ServiceManager.openService(W32ServiceManager.java:77)(WindowsServices.java:26)
任何建议都会有所帮助.
我们使用Runtime.getRuntime().exec(command)然后执行命令
cmd /c 网络启动
启动服务并
cmd /c 网络停止
停止服务。
当然,您必须知道服务名称(在我们的例子中,我们要查找的是 DB2)。但这对我们来说很有效。
| 归档时间: |
|
| 查看次数: |
3057 次 |
| 最近记录: |