Fenster aktivieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Anfänger1911
User
Beiträge: 62
Registriert: Donnerstag 17. November 2005, 16:25

Fenster aktivieren

Beitragvon Anfänger1911 » Dienstag 4. September 2007, 21:04

Hi!

Ich möchte das Programmfenster von FileMaker Pro aktivieren, also in den Vordergrund stellen. Wie mache ich das am einfachsten? Ich denke es müsste irgendwie mit win32com gehen aber wie? Hier ein Versuch (ich kann es leider nicht testen):

Code: Alles auswählen

import win32com.client
import win32con
FMP = win32com.client.Dispatch("FileMaker Pro.ApplicationFMP")
FMP.SW_SHOWNORMAL


Ich vermute mal es ist ziemlich falsch...
Geht das so überhaupt und wenn ja wie ist es richtig?

Mfg
Henne
linuxfan
User
Beiträge: 11
Registriert: Mittwoch 19. September 2007, 16:05

Tk

Beitragvon linuxfan » Sonntag 7. Oktober 2007, 11:30

Mein Vorschlag wäre ein Tk-Fenster. Dazu schreibe folgenden Text:

Code: Alles auswählen

from Tkinter import*
root=Tk() #"root" ist mein Vorschlag
root.focus_force() #focus_force aktiviert das Fenster bzw. stellt es in den Vordergrund

Viel Glück! :wink:
Gruß linuxfan
Andy
User
Beiträge: 196
Registriert: Sonntag 1. Januar 2006, 20:12
Wohnort: aus dem hohen Norden....

Beitragvon Andy » Sonntag 7. Oktober 2007, 11:50

Hi,

mit pywinauto kann man Window-Programme fernsteuern. Ich weiß nicht, ob es Dir momentan hilft, aber wollt nur gesagt haben, dass es dies gibts.

Gruß Andy
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Tk

Beitragvon Leonidas » Sonntag 7. Oktober 2007, 13:44

linuxfan hat geschrieben:Mein Vorschlag wäre ein Tk-Fenster. Dazu schreibe folgenden Text:

Code: Alles auswählen

from Tkinter import*
root=Tk() #"root" ist mein Vorschlag
root.focus_force() #focus_force aktiviert das Fenster bzw. stellt es in den Vordergrund

Viel Glück! :wink:

Und wie soll das - ein logisch gesehen - funktionieren? Filemaker Pro ist ein *bestehendes* Programm, welches zum Glück kein Tk benutzt. Also wie soll man solche Programme via Tkinter fernsteuern?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
abgdf

Beitragvon abgdf » Sonntag 7. Oktober 2007, 18:41

Also, mit Word geht das so:

Code: Alles auswählen

word = win32com.client.Dispatch('Word.Application')
word.Visible = 1
word.WindowState = 1

Ich schätze mal, bei FileMaker wird das ähnlich sein.

Aber, wenn Du's nicht testen kannst :roll:, ich kann's erst recht nicht :wink:.

Gruß
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Montag 8. Oktober 2007, 09:00

Hallo Leute!

COM hat nichts damit zu tun. Also vergesst ``win32com.client.Dispatch``.

Code: Alles auswählen

>>> import win32ui
>>> hwnd = win32ui.FindWindow(None, "<Text aus der Titelleiste>")
>>> hwnd
object 'PyCWnd' - assoc is 01B8E7E0, vi=<None>, notify=0,ch/u=0/0, mh=0, kh=0
>>> hwnd.BringWindowToTop()
>>>

pywinauto kann das noch besser. Aber auf den Tipp von Andy ist niemand eingegangen. pywinauto kann auch dann ein Fenster identifizieren, wenn nur ein Teil des Titels bekannt ist. Wie man so ein Fenster findet und sich darauf bezieht, findet man auf der pywinauto-Website.

Code: Alles auswählen

>>> import pywinauto
>>> hwnd = pywinauto.findwindows.find_window(title=None, title_re="Das deutsche Python.*")
>>> pywinauto.win32functions.BringWindowToTop(hwnd)
1
>>>

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
linuxfan
User
Beiträge: 11
Registriert: Mittwoch 19. September 2007, 16:05

Sorry

Beitragvon linuxfan » Montag 8. Oktober 2007, 18:18

Sorry wegen dem Beitrag mit Tk!!
War total verplant! :roll:
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Sorry

Beitragvon Leonidas » Montag 8. Oktober 2007, 19:27

linuxfan hat geschrieben:Sorry wegen dem Beitrag mit Tk!!
War total verplant! :roll:

Nein, kein Problem. Ich habe nur nachgebessert, damit andere Leute die den Thread später lesen nicht durch den Tkinter-Code verwirrt werden. Nichts für ungut.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder