Hi, wie kann ich den Fenstertitel des letzten, aktiven Fensters ermitteln?
Danke im Vorraus!
Letzter Fenstertitel ermitteln
-
- [ offen ]
-
meinnameisthase -
19. Mai 2011 um 19:11 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Hilfe lesen
[autoit]
WinGetTitle("[ACTIVE]")
[/autoit] -
Ups, da habe ich mich wohl unklar ausgedrückt. Also, ich habe dieses Script:
[autoit]#include <ButtonConstants.au3>
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WindowsConstants.au3>$Form1 = GUICreate("Form1", 193, 81, 449, 170, $WS_POPUP)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$Button1 = GUICtrlCreateButton("Closer", 0, 0, 193, 81, $WS_GROUP)
GUICtrlSetBkColor(-1, 0xA6CAF0)
GUISetState(@SW_SHOW)While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$aktiv=WINGETTITLE("[active]")
WinClose ($aktiv)EndSwitch
[/autoit]
WEndWenn ich jetzt auch "Closer klicke, beendet sich das Programm selbst und nicht z.B. das Dokument, an dem ich arbeite.
-
Hat niemand eine Idee?
-
Hallo meinnameisthase,
die Lösung ist so simpel, dass du eigentlich mit etwas nachdenken selbst darauf kommen könntest: frage den Fenstertitel vor dein eigenen GUI-Erstellung ab, also Zeile 19 nach Zeile 6 verschieben,
mfg autoBert
-
Nein, das ist auch nicht die Lösung, autoBert. Denn wenn ich jetzt auf die Schaltfläche "Closer" drücke, schließt sich nur der Autoit Editor und ehr nicht, da der Autoit Editor beim Druck auf F5 ja aktiv war!
-
Hallo meinnameisthase,
du wolltest doch das zletzt benutzte Fenster und dass ist im Run-Modus von Scite nun einmal Scite. Kompiliere das Skript und führe die EXE aus,
mfg autoBert
-
Das geht genauso wenig! Wenn ich das Programm (complimiert) nun auf dem Desktop habe und es dann ausführe, zum Word Dokument wechsle und dann "Closer" drücke, öffnet sich ein Fenster, in dem ich zwischen Herrunterfahren, Ruhezustand und dem anderem Zeugs wählen kann.
P.S. Ich habe Win 7 -
Ok, dieses Problem hat sich geklärt. Jetzt noch eine Frage: Wie kann ich aus einer Pfadangabe wie dieser
C:\Program Files (x86)\Mozilla Firefox\firefox.exe
nur den letzten Teil, also "firefox.exe" herrausfischen? Das geht doch bestimmt irgendwie mit StringRegExpReplace, oder?
-
Hallo meinnameisthase,
interessant wäre es wie sich das vorhergehende Problem geklärt hat.
Zu deiner neuen Frage, da gibt es viele Möglichkeiten, eine davon
[autoit]$sPath = "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
[/autoit][autoit][/autoit][autoit]$aPath = StringSplit($sPath,"\")
[/autoit][autoit][/autoit][autoit]
$sFile = $aPath[$aPath[0]]MsgBox(0,"",$sFile)
[/autoit]mfg autoBert
-
Danke für die Antwort. Die vorherige Frage hat sich geklärt, da ich beschlossen habe, diese Option nicht in mein Script einzubauen.