我想知道在启动另一个应用程序时如何启动我的C#程序。我只需要这个特定的应用程序来启动我的程序,因为我将从它做一些输出处理。我所说的应用程序不是我写的。另外,我不想写服务。
答案 0 :(得分:1)
您可以在您创建的第二个应用程序中使用WMI来监视您正在查找的进程,然后让您的第二个“监视应用程序”始终运行(不一定作为服务)启动您的应用程序以处理您希望运行应用程序的应用程序的输出。
我们所做的其他事情是让我们的应用程序通过将用户登录添加到启动文件夹或通过从计划任务调用它来查找要处理的数据来运行。不确定什么适用于你,但也许你可以使用一些选项。
编辑: @ManX IMO监控方法工作得很好,我发现使用这种方法在我的应用程序中每天处理数千个报告没有真正的问题。我只是寻找新的“输出”数据,在您的情况下在特定位置报告并相应地处理它们。通常,我们的应用程序在无窗口模式下运行,只有在用户需要进行交互时才会进入前台。在您的情况下,这将是创建新报告的时间。 .NET框架中有许多工具可以让您编写灵活的轻量级监视应用程序。
找到一个适合您的计时器,并定期检查新报告。这对报告创建几乎是立即的反应,对用户来说应该是无缝的。
编辑#2。
查看创建here然后,只要您检测到您关注的事件,就可以像其他人一样推荐您使用Process.Start
来启动您的应用。
答案 1 :(得分:0)
Process.Start就是你要找的东西
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(VS.71).aspx
答案 2 :(得分:0)
看起来您希望启动一些外部应用程序会触发启动您自己的应用程序。
如果您可以控制外部应用启动的时间,那么您可以同时启动自己的应用。例如,如果可以使用批处理文件启动外部应用程序,只需将您的应用程序包含在批处理中,例如
,这就等于彻头彻尾的低技术技术。echo off
start OutsideApp.exe
MyOwnApp.exe
命令“start”触发OutsideApp.exe并让它在执行批处理MyOwnApp.exe中的下一条指令时运行。
但@ WilP的回应可能更符合您的要求。如果它适合,我的实施起来会更快。 : - )