3

コンソール ウィンドウから実行するとコンソール アプリケーションのように動作する (コンソールにテキストを出力できる) C# アプリケーションを作成したいと考えていますが、外部で実行するとコンソール ウィンドウは作成されません。私は少し調査を行いましたが、通常の提案は、C# コンソール アプリケーションを作成し、そのプロジェクト タイプを Windows アプリケーションに変更することです。ただし、コンソールから実行すると Console.WriteLine メッセージが書き込まれなくなります。

このようなプログラムを実行する方法はありますか? コンソール入力を受け取る必要はありません。おそらく、コンソールから実行したときに表示するテキストを取得するために使用できる他の方法がありますか?

4

3 に答える 3

0

参考までに、私がやったことです。シンプルな「ウィンドウレス CLI」実行可能ファイルを作成しました。新しいコンソール アプリケーションを作成し、それを Windows アプリケーションに変更して、引数を渡しました。

static void Main(string[] args)
{
    string programFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
    string passArguments = string.Join(" ", args.Select(WrapArgument));

    Process.Start(new ProcessStartInfo(Path.Combine(programFolder, "VidCoderCLI.exe"))
    {
        Arguments = passArguments,
        WindowStyle = ProcessWindowStyle.Hidden
    });
}

private static string WrapArgument(string arg)
{
    if (arg.EndsWith(@"\"))
    {
        return "\"" + arg + "\\\"";
    }

    return "\"" + arg + "\"";
}

ウィンドウを表示せずに電話をかける必要があるものはすべて、そこを通過します。出力のリダイレクトやコンソールの悪ふざけを避けることができるので、これは素晴らしいことです。

技術的には私が尋ねたものではないので、この回答は受け入れません。

于 2013-10-20T16:55:51.090 に答える