Forum: PC-Programmierung C# Process Standard Output und WindowStyle Hidden


von Frederik K. (n0ll4k)


Lesenswert?

Hallo,

ich habe folgendes kleines Problem. Ich bin grade dabei eine kleine 
Software zu schreiben um mehrere Geräte zu Programmieren.

Hierzu verwede ich einen AVRisp mkII und die stk500.exe

Die stk500.exe rufe ich hierbei über process auf. Die Ausgabe soll zur 
Kontrolle in eine Textbox gegeben werden. Dies funktioniert auch per 
auslesen des StandardOutputs gut.

Allerdings möchte ich später das Konsolenfenster nicht sehen. Also 
wollte ich das ganze per StartInfo = ProcessWindowStyle.Hidden 
verschwinden lassen.

Das ganze scheint allerdings nicht so ganz zu funktionieren im 
Zusammenhang mit dem Standardoutput.

Hat jemand eine Ahnung wie ich das lösen kann?

von Arc N. (arc)


Lesenswert?

Frederik Krämer schrieb:
> Hallo,
>
> ich habe folgendes kleines Problem. Ich bin grade dabei eine kleine
> Software zu schreiben um mehrere Geräte zu Programmieren.
>
> Hierzu verwede ich einen AVRisp mkII und die stk500.exe
>
> Die stk500.exe rufe ich hierbei über process auf. Die Ausgabe soll zur
> Kontrolle in eine Textbox gegeben werden. Dies funktioniert auch per
> auslesen des StandardOutputs gut.
>
> Allerdings möchte ich später das Konsolenfenster nicht sehen. Also
> wollte ich das ganze per StartInfo = ProcessWindowStyle.Hidden
> verschwinden lassen.

http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.createnowindow.aspx
alternativ ginge auch noch sowas:
1
    [DllImport("user32.dll")]        
2
    public static extern IntPtr FindWindow(string lpClassName,string lpWindowName);   
3
     
4
    [DllImport("user32.dll")]       
5
    static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
6
7
void HideWindow(string windowTitle) {
8
    IntPtr handle = FindWindow(null, windowTitle);
9
    if (handle != IntPtr.Zero) {
10
        ShowWindow(handle, 0);
11
    }       
12
}

von Frederik K. (n0ll4k)


Lesenswert?

Hmm damit gehts.

Danke.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.