First, find this attribute at the top of your App.xaml file and remove it:
StartupUri="Window1.xaml"
That means that the application won’t automatically instantiate your main window and show it.
Next, override the OnStartup method in your App class to perform the logic:
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
if ( /* test command-line params */ )
{
/* do stuff without a GUI */
}
else
{
new Window1().ShowDialog();
}
this.Shutdown();
}