Seite 1 von 1

Programm Starten oder in Vordergrund setzen

Verfasst: Freitag 30. Juni 2023, 09:52
von KumpelBlase
Hallo,
bin neu und noch Anfänger im Bereich Python.
Ich möchte z.b. Notepad Starten!
Ist es aber gestartet, möchte ich es nicht ein 2 mal Starten, sondern das bereits gestartete Notepad, soll in den Vordergrund gesetzt werden.
Hier mein Programm welches aber nicht funktioniert!
Es wird einfach eine neue instanz von Notepad geöffnet!
Warum? in der If abfrage wird doch geschaut ob es bereits ein Window (Notepad) gibt und er soll es in den "SetForegroundWindow" setzen.
Was mache ich falsch?

Code: Alles auswählen


import subprocess
import win32gui


def open_notepad():
    try:

        hwnd = win32gui.FindWindow(None, 'Notepad')
        if hwnd:

            win32gui.SetForegroundWindow(hwnd)
        else:

            subprocess.Popen('notepad')
    except Exception as e:

        print("Fehler beim Öffnen von Notepad:", str(e))


open_notepad() 

Besten dank für eure Hilfe.
Gruß
Kumpelblase

Re: Programm Starten oder in Vordergrund setzen

Verfasst: Freitag 30. Juni 2023, 11:25
von grubenfox
Was enthält denn 'hwnd' nach dem 'FindWindow'? Und das, was auch immer es ist, wird offensichtlich nicht als 'True' ausgewertet.

Re: Programm Starten oder in Vordergrund setzen

Verfasst: Freitag 30. Juni 2023, 13:40
von Sirius3
FindWindow sucht ein Fenster mit dem exakten Titel "Notepad". Ist der Titel wirklich so?

Re: Programm Starten oder in Vordergrund setzen

Verfasst: Freitag 30. Juni 2023, 19:09
von darktrym
Über die Klasse geht's bei mir, also wenn ich die Parameter von FindWindow tausche.

Re: Programm Starten oder in Vordergrund setzen

Verfasst: Freitag 30. Juni 2023, 19:56
von __blackjack__
Ist wahrscheinlich auch robuster. Erstens unabhängig von Übersetzungen — wobei Notepad ja auch in deutschsprachigen Windowsinstallationen so heisst — aber auch sicher wenn die Anwendung auch den Dokumenttitel und/oder ein * oder so für ungespeicherte Änderungen mit in den Fenstertitel packt.

Re: Programm Starten oder in Vordergrund setzen

Verfasst: Freitag 30. Juni 2023, 21:09
von KumpelBlase
Moin jo hab in der Zwischenzeit auch festgestellt das das abfragen des Fensters suboptimal ist.Notepad heißt vom Fenster her nicht Notepad leider ^^ Hab das ganze jetzt über die class gemacht ist sowieso schöner.
Danke für die ganzen Antworten, wünsche noch ein schönes Wochenende.
LG Kumpelblase