私はWPF
アプリケーションを持っています。私はGUI
を開く代わりに、私のものをコマンドラインで実行するオプションを追加したいと思います。WPFアプリケーションコマンドライン引数の代わりに起動GUI
私Application exe
arguments
とarguments length in > 0
場合を送信する方法はcommand line
代わりのオープンGUI
を続けますか?
私はWPF
アプリケーションを持っています。私はGUI
を開く代わりに、私のものをコマンドラインで実行するオプションを追加したいと思います。WPFアプリケーションコマンドライン引数の代わりに起動GUI
私Application exe
arguments
とarguments length in > 0
場合を送信する方法はcommand line
代わりのオープンGUI
を続けますか?
あなたはApp.xaml.cs
ファイルを編集し、OnStartup
方法オーバーライドすることができます:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
string[] args = e.Args;
if(args.Length > 0 && args[0] == "cl")
{
//...
}
else
{
base.OnStartup(e);
Window2 mainWindow = new Window2();
mainWindow.Show();
}
}
}
あなたはまた、App.xaml
ファイルの<Application>
ルート要素からStartupUri
属性を削除する必要があります。
しかし、あなたは、あなたが手動でコンソールウィンドウを作成する必要がコンソールに書くことができるようにしたい場合:
No output to console from a WPF application?
その後、あなたにもVisual Studioでコンソールアプリケーションを作成して、代わりにあなたを開始する可能性がありますコマンドライン引数に基づくWPFアプリケーション。例:
public class Program
{
public static void Main(string[] args)
{
if (args.Length == 0 || args[0] != "cl")
{
System.Diagnostics.Process.Start(@"c:\yourWpfApp.exe");
}
else
{
//...
}
}
}
コンソールアプリケーションはWPFアプリケーションではなく、その逆もあります。したがって、2つの異なるアプリケーションを作成します。
App.xaml.cs
にはOnStartup
メソッドが実装されています。したがって、コマンドラインで渡された引数にアクセスできます。
protected override void OnStartup(StartupEventArgs e)
{
var args = e.Args;
// do anything with arguments
}