Prima di pronunciare una domanda duplicata, lasciatemi spiegare (poiché ho letto tutti i thread simili).Nascondere la finestra di comando nell'applicazione C#
La mia applicazione ha entrambe queste impostazioni:
procStartInfo.CreateNoWindow = true;
procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
ed è anche ha WindowsApplication come il tipo di uscita.
La finestra nera STILL si presenta quando chiamo un comando da riga di comando. C'è qualcos'altro che posso fare per nascondere la finestra? Non succede per tutti i comandi, XCOPY è una situazione in cui la finestra nera lampeggia. Questo accade solo se la destinazione che sto XCOPYing contiene già il file e mi sta chiedendo se voglio sostituirlo. Anche se passassi in/Y lampeggerà ancora brevemente.
Sono aperto all'utilizzo di vbscript se questo sarà di aiuto, ma qualche altra idea?
Il cliente chiamerà il mio eseguibile e poi passare in un esempio di comando riga di comando:
C:\MyProgram.exe start XCOPY c:\Test.txt c:\ProgramFiles\
Ecco il codice completo dell'applicazione:
class Program
{
static void Main(string[] args)
{
string command = GetCommandLineArugments(args);
// /c tells cmd that we want it to execute the command that follows and then exit.
System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe", "/c " + command);
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
// Do not create the black window.
procStartInfo.CreateNoWindow = true;
procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo = procStartInfo;
process.Start();
}
private static string GetCommandLineArugments(string[] args)
{
string retVal = string.Empty;
foreach (string arg in args)
retVal += " " + arg;
return retVal;
}
}
puoi pubblicare il resto della tua 'processo' /' ProcessStartInfo' c ode? –
@fletcher: Nella domanda è indicato che il tipo di output è Applicazione Windows e non console. L'ho provato con il tipo di output impostato sull'app Windows e funziona perfettamente. @snow: Vorrei ricontrollare le impostazioni OutputType. – nukefusion
@fletcher Questo è in realtà il tipo di problema! Vorrei che la finestra non si visualizzasse affatto! – mint