0

我在 C++ 中创建了一个 Windows 服务,当我尝试启动该服务时,我收到消息错误 5:访问被拒绝。

在此处输入图像描述

我的用户帐户设置为管理员,我什至尝试使用计算机上的默认管理员帐户,但它仍然无法正常工作。

我可以通过 cmd 安装/卸载服务没有问题,但我无法启动服务

代码不是用户帐户的问题。对于如何解决这个问题,有任何的建议吗?

4

1 回答 1

2

“运行服务”不仅仅是“在我的桌面上启动程序”。它不一定以“你”的身份运行。

该服务与任何桌面分离,它实际上忽略了您的用户帐户。该服务将在操作系统中存储自己的帐户/密码配置,当您运行它时,您只需命令它启动。它将在自己的用户帐户上启动。如果您已将 .exe/.dll 文件放在某个受保护的文件夹中,并且您既没有配置对该文件的访问权限,也没有为该服务配置用户密码,那么该服务很有可能会尝试以默认服务用户运行像“LocalService”或“NetworkService”这样的帐户,它根本无法触及文件。

如果您正确安装了服务,请转到 ControlPanel - AdministrativeTools - Services,找到您的服务并检查(如果我没记错的话)第二个选项卡,并验证此处显示的用户名是否可以访问尝试加载和运行的文件。如果用户名错误,请更正。如果您不关心用户名,那么只需查看该名称并在文件夹和/或文件上设置访问权限,以便至少“读取目录内容”和“读取”和“执行”都可用于该用户名 -服务尝试运行方式。

于 2013-04-08T14:18:15.270 回答