我正在尝试制作一个工具,该工具将通过批处理文件和自定义服务的组合在另一台 PC 上启动应用程序。
目前,我的程序只需按一下按钮即可运行一个特定的程序。当我点击按钮(在winform中)时,它会启动一个批处理文件,运行我在目标PC上找到的exe。像这样:
// when the service starts open paint
protected override void OnStart(string[] args)
{
// name of the application to launch
String applicationName = "C:\\TargetFolder\\Target.exe";
// launch the application
ApplicationLoader.PROCESS_INFORMATION procInfo;
ApplicationLoader.StartProcessAndBypassUAC(applicationName, out procInfo);
}
然后当我点击关闭按钮时,就会发生这种情况
// when the service is stopped close the client
protected override void OnStop()
{
// name of the application to launch
String batchFile = "C:\\BatchFiles\\KillClient.bat";
// launch the application
ApplicationLoader.PROCESS_INFORMATION procInfo;
ApplicationLoader.StartProcessAndBypassUAC(batchFile, out procInfo);
}
我的 winform 运行这个批处理文件:
@echo off
net start "MyNewService"
不过现在,我正在尝试让我的原始工具根据按钮打开特定的 exe,而无需提供 X 数量的更多服务。谁的唯一工作就是运行这个单一的 exe。
例如,如果我想要一个按钮向上绘画,另一个按钮关闭它,另一个按钮打开单词,最后一个按钮关闭它。我将如何在服务中这样做?