作者jay70120 (小鸟头)
看板C_and_CPP
标题[问题] 关於SERVICE CONTROL 的问题
时间Tue Jan 15 16:36:11 2019
开发平台(Platform): (Ex: Win10, Linux, ...)
C++
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
VC++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
N/A
问题(Question):
schSCManager = OpenSCManager(
NULL, // local computer
NULL, // ServicesActive database
SC_MANAGER_ALL_ACCESS); // full access rights
使用OpenSCManager 一直都会有ACCESS Deline 的问题
我把他换成SC_Manager_Connect 就没问题
但是在後面的OpenService 还是会一直ACCESS Denied…
这个TOOL 本身有支援CMD 直接下-STOP 是没问题的
但是我要在这个CODE 里面让他跑STOP 的CODE 就是会ACCESS Denied
请问有大大能知道这个问题怎麽解决吗…
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.194.133.98
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1547541374.A.E97.html
1F:推 LPH66: 「以系统管理员身份执行」你的程式可行吗? 01/15 16:46
2F:→ jay70120: 这个exe的话 直接在administrator shell 下 对他下 01/15 16:55
3F:→ jay70120: -stop -start 都是可以的 但我在code里面执行就不行 01/15 16:56
※ 编辑: jay70120 (211.23.76.67), 01/15/2019 17:02:42
4F:→ petercoin: 你说的code里面执行就不行的意思是?debug run吗 01/15 17:13
5F:→ petercoin: 是的话用admin执行vc++再跑code应该就可以 01/15 17:13
6F:→ jay70120: 因为我的tool会建一个service 同时也可以用command方式 01/15 17:29
7F:→ jay70120: 当我 在code里面加一段function让他判断情况去关service 01/15 17:30
8F:→ jay70120: 他会denied 但是 直接对这个exe 下command 是没问题的… 01/15 17:30
9F:→ jay70120: 应该是权限问题 因为我不用admin下command 也不行 01/15 17:30
10F:→ jay70120: 但小弟 不知道该怎麽在code里面执行admin… 01/15 17:31
11F:推 dces4212: 应该找的到资料 像有些安装包都是打开後跟你要权限 01/15 17:42
12F:→ jay70120: 是不是要加一个东西我在build 这exe的时候就要让他有 01/15 17:57
13F:→ jay70120: administrator 的权限? 01/15 17:57
14F:→ jay70120: 但我这个比较类似driver我需要透过INF安装这样对MS来说 01/15 17:58
15F:→ jay70120: 是安全的吗@@? 01/15 17:58
16F:推 jin879: 这个小弟有点经验,执行档build完後用mt.exe写manifest 01/16 08:55
17F:→ jin879: 加入run as adiministrator之类的 01/16 08:56
这位大大 请问一下 那这个方式跟
[Project] -> [Properties] -> [Linker] -> [Manifest File] -> UAC Execution
Level: 选择 requireAdministrator
这样的方法有什麽不一样呢@@?因为我用这个方法也是不行 我来试一下你说的东西
※ 编辑: jay70120 (211.23.76.67), 01/16/2019 09:10:22