我有一个应用程序,只有在以管理员身份运行时才会停止/启动服务。
是否可以从以普通用户身份运行的应用程序停止/启动服务?肯定是吗?我在我的:: OpenService()调用中尝试了所有不同的访问标志组合,但我无法获得有效的句柄。如果我使用SERVICE_INTERROGATE我得到一个有效的句柄返回但是我不能调用:: ControlService()来停止/启动服务。如果我指定SERVICE_PAUSE_CONTROL,我会收到一个NULL句柄。
我确实拥有服务应用程序。我需要对服务应用程序本身做些什么来改变安全性要求吗?
更新:我发现我可以使用以下代码更改服务的安全设置。现在唯一的问题是我需要告诉具体的用户名。有没有人知道BuildExplicitAccessWithName()是否可以授予所有用户访问权限?
BuildExplicitAccessWithName(& ea,TEXT(“GUEST”), SERVICE_START | SERVICE_STOP | READ_CONTROL |删除, SET_ACCESS,NO_INHERITANCE);
干杯 保罗
答案 0 :(得分:0)
全部排序 - 我使用“Everyone”,这就完成了工作。