2011-01-21 68 views
2

我写了一个Windows服务,我想通过删除他们的启动/停止权限来防止管理员随便篡改。如何使用Delphi更改服务的权限?

诚然,一个管理员可以提高系统和做自己想做的任何事情,甚至管理员还可以暂停该服务的线程或删除服务,但这是为了防止随意篡改

我可以很容易地使用Process Explorer来做到这一点(见下文),但我不知道从哪里开始使用Delphi。我浏览了SetAcl C++ source code(我可能会使用他们的OCX文件),但如果已经存在,我宁愿使用原生的Delphi解决方案。如果不是,我将开始克隆SetAcl功能。

有没有人有这方面的经验,他们可以分享?

alt text

注:我一直主张在这个岗位在Delphi编写的屏幕捕捉工具,我取出B/C是无关的。我在这里留下这张纸条,所以评论仍然有意义!问候。

+2

我发现打印屏幕按钮适合我的屏幕截图需求! – 2011-01-21 17:53:30

回答

8

管理员有权在自己的电脑上做任何他们想做的事情。您是否要求改变管理员权限在计算机上的工作方式?

任何阻止管理员在其控制下“篡改”的软件听起来都像是Rootkit或其他恶意软件。如果管理员想要关闭服务,则应提供自己的快速工具来关闭服务,而且您不应该(也可能不能)阻止他们执行此操作,无论是从Windows GUI还是从SC.EXE或NET STOP在命令行上。这就是说,如果它是一个Windows API,你想要一个Delphi包装器,我会找到API的名称并搜索它的JEDI API库。它看起来像JWSCL将工作。