none
Wie kann ich z.B Notepad.exe aus meinem Applikation modal starten ? RRS feed

  • Frage

  • Hallo,

    wie kann ich "Notepad.exe Test.txt" Modal starten?

    Bis Notepad.exe nicht geschlossen ist, kann ich in mein Applikation nichts tun.

    MFG

    Donnerstag, 31. Oktober 2013 10:38

Antworten

  • Hallo,
    richtig Modal kann man das bei nicht .NET Programmen nicht tun. (Bei .NET Programmen könntest du einfach main aufrufen).

    Beim Starten über die Process-Klasse kannst du aber das Exited-Event abfangen:

            static void Main(string[] args)
            {
                Process p = new Process();
                p.StartInfo = new ProcessStartInfo("notepad.exe", @"D:\test\test.txt");
                p.Exited += p_Exited;
                p.EnableRaisingEvents = true;
                p.Start();
                Console.ReadLine();
            }
    
            static void p_Exited(object sender, EventArgs e)
            {
                Console.WriteLine("Prozess beendet");
            }
    Dadurch wirst du beim beenden des Prozesses benachrichtigt.


    Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    • Als Antwort markiert ati.sah Donnerstag, 31. Oktober 2013 13:06
    Donnerstag, 31. Oktober 2013 10:53
    Moderator

Alle Antworten

  • Hallo,
    richtig Modal kann man das bei nicht .NET Programmen nicht tun. (Bei .NET Programmen könntest du einfach main aufrufen).

    Beim Starten über die Process-Klasse kannst du aber das Exited-Event abfangen:

            static void Main(string[] args)
            {
                Process p = new Process();
                p.StartInfo = new ProcessStartInfo("notepad.exe", @"D:\test\test.txt");
                p.Exited += p_Exited;
                p.EnableRaisingEvents = true;
                p.Start();
                Console.ReadLine();
            }
    
            static void p_Exited(object sender, EventArgs e)
            {
                Console.WriteLine("Prozess beendet");
            }
    Dadurch wirst du beim beenden des Prozesses benachrichtigt.


    Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    • Als Antwort markiert ati.sah Donnerstag, 31. Oktober 2013 13:06
    Donnerstag, 31. Oktober 2013 10:53
    Moderator
  • Process p = new Process(); p.StartInfo = new ProcessStartInfo("notepad.exe", @"D:\test\test.txt"); p.Start(); p.WaitForExit();

    WaitForExit() lässt deinen Process warten bis Notepad geschlossen wird.



    Montag, 13. März 2017 16:17