首页 文章

Windows后台服务按名称按需终止进程

提问于
浏览
0

我想编写一个简单的后台服务,可以根据需要为所有用户终止某个进程的所有实例 . 该过程将始终相同(Microsoft Access) . 这个想法是没有管理权限的用户能够执行一个脚本,该脚本告诉后台服务在继续执行其他任务之前终止进程 . 我有一个用C编写的小程序,它可以在从本地系统帐户执行时终止所有进程,但我不知道如何将其转换为可以按需触发的服务 . 欢迎任何建议 . 此外,我愿意为没有管理权限的所有用户杀死进程的所有实例 .

1 回答

  • 0

    您可以使用 SrvStart (可在this page上找到)和Windows命令行工具 sc.exe 等工具从可执行文件创建服务 . Here是一个可以帮助您这样做的教程 .

    为了对服务进行"talk",您需要实现一些进程间通信机制,以便使用用户权限运行的客户端(脚本等)要求服务执行该任务 . 有很多方法可以做到这一点...请参阅this page了解您可以使用的内容 .

    另一种方法是摆脱你的C可执行文件,并在C#中创建一个Windows .NET服务 . 在此服务中,覆盖ServiceBase.OnCustomCommand . 然后,您将能够使用Windows命令行工具 sc.exe 向服务发送自定义命令 .

    另一方面,如果您需要的只是从用户帐户运行带有管理员权限的可执行文件而没有密码,则可以创建执行此操作的快捷方式 . 有关如何创建此类快捷方式的详细信息,请参阅this page .

相关问题