Forum: PC-Programmierung C# Process start


von Heinz (Gast)


Lesenswert?

Ich möchte eine *.exe starten und mache dies wie folgt:
1
Process Proc = new Process();
2
            Proc.StartInfo.FileName = "/Pfad/*.exe"
3
            Proc.Start();
Pfad ist nur Platzhalter. Jedoch habe ich nun das Problem das es einen 
unterschied gibt zwischen doppelklick und das Programm ( Treiber ) 
startet mit icon neben Uhr hoch oder ob ich es wie oben geschrieben 
aufrufe. Mache ich es mittel dem Code startet das Programm kurz ( im 
taskmgr zu sehen ( jedoch schließt sich gleich wieder.

Wie bekomme ich das Problem gelöst?

Danke

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Heinz schrieb:
> und das Programm ( Treiber )
> startet mit icon neben Uhr hoch

Könntest Du versuchen, das, was Du da versucht hast zu beschreiben, 
nochmal zu beschreiben? Mit anderen Worten, die Du Dir dann nochmal 
durchliest?

von Heinz (Gast)


Lesenswert?

Das Programm welches ich starte ist ein Treiber. Ist der Treiber 
gestartet erscheint neben der Windows Uhr rechts unten ein Icon welches 
mir zeigt das der Treiber gestartet wurde.

Starte ich die gleiche *.exe mittels Code wiebeschrieben, startet der 
Treiber kurz zu sehen im taskmgr jedoch verschwindet nach wenigen sek 
aus dem taskmgr und das logo neben der Uhr erscheint leider auch nicht.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ein Treiber im eigentlichen Sinne ist das ziemlich sicher nicht, denn 
die werden nicht auf diese Art und Weise gestartet.

Wie genau rufst Du das Programm auf, wenn der Aufruf funktioniert? "Mit 
Doppelklick" ist nicht aussagekräftig genug. Doppelklick worauf? Auf die 
*.exe-Datei im Explorer, oder auf eine Verknüpfung, die z.B. auf dem 
Desktop liegt?

von Heinz (Gast)


Lesenswert?

Doppelklick auf eine passende Verküpfung Desktop.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ah. Dann sieh Dir doch mal genau an, was in der Verknüpfung so alles 
drinsteht.

von Heinz (Gast)


Lesenswert?

nix keine Argumente etc.

von Heinz (Gast)


Lesenswert?

hab jetzt grad versucht mit startInfo.WindowStyle = 
ProcessWindowStyle.Normal

hat aber nix gebracht.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und was passiert, wenn Du das in der Verknüpfung angegebene Programm aus 
einer Kommandozeile heraus aufrufst?

von Heinz (Gast)


Lesenswert?

anbei ich starte die exe über ein nant script. Wenn ich Verknüpfung 
ausführe passiert das selbe wie zuvor.

von Chris R. (hownottobeseen)


Lesenswert?

Hi,

ich weiß nicht genau, wie die Process-Klasse das Arbeitsverzeichnis 
setzt, es könnte aber sein, dass es auf den Pfad deiner Exe-Datei liegt 
und die Zielanwendung "ihre" Dateien nicht mehr findet.

Setze es doch mal den Pfad der zu startenden Anwendung (Property dafür 
kann ich aus dem Kopf heraus nicht sagen) als 
Arbeits-/Ausführungsverzeichnis.

HTH

Chris

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Heinz schrieb:
> anbei ich starte die exe über ein nant script.

Hä?

von Jasch (Gast)


Lesenswert?

Heinz schrieb:
> Das Programm welches ich starte ist ein Treiber. Ist der Treiber

Ist es ganz sicher nicht. Siehe Windows DDK, Vorsicht, starker Tobak.

> gestartet erscheint neben der Windows Uhr rechts unten ein Icon welches
> mir zeigt das der Treiber gestartet wurde.

Aha, es benutzt also irgendwie das API fuer die Notification Area oder 
wie das heisst. Grusel-Kram, das ist doch COM?

> Starte ich die gleiche *.exe mittels Code wiebeschrieben, startet der
> Treiber kurz zu sehen im taskmgr jedoch verschwindet nach wenigen sek
> aus dem taskmgr und das logo neben der Uhr erscheint leider auch nicht.

Ich denke Du bist verwirrt. Du verlaesst Dich auf irgendwelche Dinge die 
bei der Verknüpfung Windows für Dich tut, aber wenn Du das Programm 
selber startest Du auch selber tun musst. Steht alles irgendwo in der 
Doku, könnte Arbeitsverzeichnis, Environment, COM-Dreck (STA, MTA?), 
blah, fasel, irgendwas sein.

Mal den Debugger versucht?

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.