0

问候大家,

我的开发计算机位于运行我的生产应用程序的同一网络上。

我开发了一个名为“开发者工具”的应用程序,可以让我处理许多日常维护项目。其中之一是显示本地时间戳和服务器时间戳的所有可执行文件的列表。任何以黄色显示的项目都需要更新。目前这将是 RepayMonitor.exe,但您可以看到该应用程序正在使用中。我希望能够强制关闭应用程序(可以在清晨完成,然后通知用户在他们到达时重新启动应用程序)。我唯一知道的是这个文件的位置并且它正在使用中。因为它位于另一个驱动器“K:\Frontline\CollectingIT\Bin\RepayMonitor.exe”上,所以我无法使用 FindWindow() 来获取句柄,因此我可以关闭它。有谁知道如何仅知道可执行文件名称和路径来完成此操作?任何提示表示赞赏。

开发者工具

4

1 回答 1

0

我认为更简单的是使用 Sysinternals 套件和PsKill. 您可以在 Delphi 中使用简单的ShellExecute.

pskill [- ] [-t] [\\computer [-u user] [-p passwd]] process_name | process_id

要杀死远程系统上的进程,需要远程系统的管理权限。

例子:

Kill all instances of notepad.exe running on \\workstation64:
pskill \\workstation64 notepad
于 2022-01-14T08:47:03.217 回答