WinActivate Bug?
-
- [ gelöst ]
-
mille86 -
17. April 2009 um 09:18 -
Geschlossen -
Erledigt
-
-
Moin,
habe die englische Version installiert 3.3.0.0 und Win XP Prof SP3. Bei mir funktioniert
WinActivate("AutoIt Help")
ohne Probleme.
;-)) Stefan
-
Das 2. Beispiel funktioniert bei mir auch, aber das erste nicht (ebenfalls WinXP SP3),
Habe noch was gefunden.
Opera Browser öffnen, dann zeigt er im Title "Schnellwahl - Opera" an und dieseszeigt die Box an, was nicht sein dürfte...
-
Moin,
wer lesen kann ist klar im Vorteil. Habe ebenfalls Probleme mit Win Activate. Beispiel Outlook Express:
Fenster Titel: Posteingang - Outlook ExpressCode:
WinActivate("Posteingang") mit WintitleMatchMode 1 und 2 funktioniert. Outlook wird aktiviertCode:
WinActivate ("Outlook") in beiden Fällen ohne FensterAktivierung.Für ...MatchMode 1 o.k., für ...MatchMode 2 nicht; s. HelpFile 2 = Match any substring in the title
Code:
if WinExists ("Outlook") Then MsgBox (0,"","Da!") kommt ebenfalls jedesmal, egal ob WinTitleMatchMode 1 oder 2Scheint nicht korrekt zu laufen!!
;-((
-
Danke für die Bestätigung.
So habs dann im Bug-Tracker berichtet: http://www.autoitscript.com/trac/autoit/ticket/909
Sobald sich dort einer annimmt, wird das hier als gelöst gekennzeichnet. -
Sie haben es als "NoBug" deklariert und folgenden Code-Beispiel als Argumentation aufgeführt:
Code
Alles anzeigen$var = WinList() For $i = 1 to $var[0][0] ; Only display visble windows that have a title If stringLeft($var[$i][0],4) = "Auto" Then ConsoleWrite("Title=" & $var[$i][0] & " Handle=" & $var[$i][1] & @CRLF) EndIf Next ConsoleWrite('>Before: WinGetTitle ( "[Active]" ) = ' & WinGetTitle ( "[Active]" ) & @crlf ) ;### Debug Console $rc = WinActivate("Auto") ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $rc = ' & $rc & @crlf & '>Error code: ' & @error & '>Extended code: ' & @extended & @crlf) ;### Debug Console$rc = WinActivate("Auto") ConsoleWrite('>After: WinGetTitle ( "[Active]" ) = ' & WinGetTitle ( "[Active]" ) & @crlf & @crlf ) ;### Debug Console ConsoleWrite('>Before: WinGetTitle ( "[Active]" ) = ' & WinGetTitle ( "[Active]" ) & @crlf ) ;### Debug Console $rc = WinActivate("AutoIt Help") ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $rc = ' & $rc & @crlf & '>Error code: ' & @error & '>Extended code: ' & @extended & @crlf) ;### Debug Console ConsoleWrite('>After: WinGetTitle ( "[Active]" ) = ' & WinGetTitle ( "[Active]" ) & @crlf ) ;### Debug Console
Ich kann das überhaupt nicht nachvollziehen
Edit1: Vielleicht wäre es sinnvoll, auf der deutschen Hilfe darauf hinzuweisen, das die Titel kein AutoIt enthalten dürfen, weil AutoIt-Titel in den eigenen Programmen vorkommt! Also dann Ansprechen über den Klassennamen erfolgen muss. -
Du kannst dein AutoIt-Fenster umbenennen
[autoit]AutoItWinSetTitle
[/autoit]Zum zweiten Teil:
[autoit]Opt("WinTitleMatchMode",1) ;without this line too, because its default
[/autoit]
If WinExists("Firefox") Then MsgBox("","","OK")gibt bei mir keinen messageBox.
[autoit]
Vielleicht hat opera ja auch noch ein verstecktes Fenster Was kommt denn da Raus?MsgBox(0,"",WinGetTitle("Opera"))
[/autoit] -
Das mit dem Umbennen habe ich auch schon gemacht, aber der AutoIt Compiler heißt auch so, bringt also nix. ZUmindet ist es kein Bug.
Hab meinen erweiterteren Taskmanager laufen lassen (Security Task Manager) und Opera beansprucht mal eben 4 Titel für sich: "Webseite", "Opera", "M", "Default IME"
Nervt zwar, die Sonderregeln, aber da ist AutoIt unschuldig