C# Process start

Gast #2086888
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
Gast
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.
Persönliche Seite
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?
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
Gast
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?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.