传递参数以作为控制台或GUI应用程序启动?

时间:2008-09-18 18:31:57

标签: c#

我有一个控制台应用程序,将使用调度程序启动。如果由于某种原因,该文件的一部分无法构建,我需要一个GUI前端,以便我们可以在第二天使用特定输入运行它。

是否有传递参数到应用程序入口点以根据传递的参数启动控制台应用程序或GUI应用程序。

5 个答案:

答案 0 :(得分:3)

听起来你想要的是作为控制台应用程序或基于命令行开关的Windows应用程序运行。

如果您查看this thread中的最后一条消息,Jeffrey Knight会发布代码来执行您要求的操作。

然而,请注意,许多“混合”应用实际上发送了两个不同的可执行文件(看看visual studio- devenv.exe是gui,devenv.com是控制台)。使用“混合”方法有时会导致难以追踪问题。

答案 1 :(得分:1)

转到main方法(Program.cs)。您将把逻辑放在那里,确定要做什么,并有条件地执行Application.Run()

答案 2 :(得分:1)

我认为菲利普是对的。虽然我在广泛部署的商业应用程序中使用“混合”方法没有问题。我确实遇到了一些与我开始使用的“混合”代码有关的问题,因此我最终修复它们并重新发布解决方案。

所以随意利用它。它实际上非常简单易用。 hybrid system位于Google代码上,并更新了此技术的旧codeguru解决方案,并提供了源代码和工作示例二进制文件。

答案 3 :(得分:0)

将GUI输出写入控制台应用程序在加载时检查的文件。这样,您的控制台应用程序就可以在一个计划的操作中执行修复操作和正常操作。

答案 4 :(得分:0)

一个解决方案是让控制台应用程序为GUI应用程序编写配置文件(WinForms最简单)。

我喜欢混合方法,命令行开关似乎很粗糙。

让两个应用程序使用相同的引擎来实现常见功能可能更简单。考虑它的方法是控制台应用程序供计算机使用,而GUI App供人类使用。由于CLI App将首先执行,因此它可以通过配置文件将其数据传送到GUI App。

一方面的好处是处理引擎的界面更简洁,因此将来更容易维护。

这将是最简单的,因为Config文件机制很容易获得,您不必编写一堆格式化和解析例程。

如果您不想使用Config机制,您可以直接将JSON或XML序列化写入文件以轻松传输数据