从其他应用程序启动我的程序

我想知道如何启动另一个应用程序启动我的C#程序。 我只需要这个特定的应用程序来启动我的程序,因为我会做一些输出处理。 我所说的应用程序不是由我写的。 另外,我不想写一个服务。

您可能可以在您创建的第二个应用程序中使用WMI(如此处所示)来监视您正在查找的进程,然后让第二个始终运行的“监视器应用程序”(不一定是服务)启动应用程序来处理你想让应用程序运行的应用程序的输出。

我们所做的其他事情是让我们的应用程序通过将用户登录添加到启动文件夹或通过从计划任务调用它来查找要处理的数据来运行。 不知道什么适用于你,但也许一些选择,你可以利用。

编辑:@ManX国际海事组织的监测方法工作得很好,我看到没有真正的问题,每天在我的应用程序使用这种方法处理数以千计的报告。 我只是寻找新的“输出”数据,在你的情况下在特定的位置报告,并相应地处理它们。 通常,我们的应用程序以无窗口模式运行,只有当用户需要进行交互时才会被引入前台。 在你的情况下,这将是当一个新的报告已经创建。 .NET框架中有许多工具可以让你编写一个灵活的轻量级监控应用程序。

找到一个适合您的定时器,并定期检查新的报告。 这对报告的创建几乎是直接的反应,对用户应该是无缝的。

编辑#2。

看看如何创建一个永久性的WMI事件消费者…然后,只要您检测到您关心的事件,就可以使用Process.Start来启动您的应用程序。

它看起来像你想启动一些外部应用程序触发启动你自己的应用程序。

如果您可以控制外部应用程序何时启动,那么您可以同时启动自己的应用程序。 例如,什么等于彻头彻尾的低科技技术,例如,如果可以使用批处理文件启动外部应用程序,则只需在批处理中包括您的应用程序,例如

 echo off start OutsideApp.exe MyOwnApp.exe 

命令“start”触发OutsideApp.exe并让它在执行批处理中的下一条指令MyOwnApp.exe时运行。

但@威尔普的回应可能更多你正在寻找。 如果适合,我的执行速度会更快。 🙂