| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Anfänger Gast
|
Verfasst am: Mo Okt 16, 2006 8:24 am Titel: WinWaitNot macht nicht was ich will... |
|
|
Hallo Welt,
ich habe folgendes Problem:
Ich muss ein (sehr spezielles) Programm fernbedienen.
Dabei muss ich ich den Prog einen Button drücken, worauf sich ein Popup öffnet. Leider ist das Prog sehr buggy, sodass es sein kann, dass Popup geht nicht auf.
Deshalb wollte ich testen, ob dass Fenster des Progs deaktiv wird:
| Code: |
;...prog läuft
;Klick auf Popup öffnen
MouseClick, left, 642, 341
WinWaitNotActive,MeinProgFenstertitel,,5
if ErrorLevel
{
msgbox, nicht da
}
else
{
msgbox, da
} |
Leider geht er sofort in den else-zeig und wartet nicht auf den Timeout. Kann man das überhaupt so machen??? |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Mo Okt 16, 2006 9:01 am Titel: |
|
|
| Zitat: | | leider ist das Prog sehr buggy, sodass es sein kann, dass Popup geht nicht auf. | Dein Script? Die Frage ist, was willst du dann machen - als Ergebnis des NON Events? Nochmal klicken? Weitermachen? Aufgeben?? Heiraten oder Auswandern??? ... |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1889 Wohnort: Österreich
|
Verfasst am: Mo Okt 16, 2006 9:05 am Titel: |
|
|
Das Timeout wird nur abgewartet, wenn das entsprechende Fenster aktiv ist.
Wenn es ohnehin nicht aktiv ist (bzw gleich das Pop-Up-Fenster aktiv wird) wird sofort der Else-Zweig angesprungen...
Erwartetes Handling, wo ist das Problem? Scheinbar wird das Fenster beim Klicken automatisch (kurz??) deaktiviert. Eventuell geht das Popup irgendwo auf (außerhalb des Bildschirms, irgendwo im Hintergrund; alles schon gehabt) ...
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
Anfänger Gast
|
Verfasst am: Mo Okt 16, 2006 9:16 am Titel: |
|
|
Hallo,
danke für die Tipps.
Das ganze funzt, wenn ich nach den klick noch ein kurzes sleep einbaue.
Dann geht er nach 5 sek in den else-Zweig, wenn kein Popup erscheint und sonst früher in den if Zweig. Also wie von mir gewünscht.
Wenn ich das Sleep, 10 wieder rausnehme, geht er sofort in den else Zweig. Hm...
Andere Frage: Wieso definiert man eine Sleep-Zeit in Millisekunden und eine Timeout-Zeit in Sekunden.  |
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1889 Wohnort: Österreich
|
Verfasst am: Mo Okt 16, 2006 9:22 am Titel: |
|
|
Eventuell kannst ja den anderen Weg gehn:
WinWaitActive auf das PopUp??
| Zitat: | Andere Frage: Wieso definiert man eine Sleep-Zeit in Millisekunden und eine Timeout-Zeit in Sekunden. | Weil die Sleep-Zeit feiner skalieren muss.
Ein Timeout ist meist eine größere Zeitspanne und es macht wenig Sinn auf ein Fenster 10345ms zu warten...
Du kannst aber auch Kommazahlen verwenden, wenn du auf 10.345 Sekunden Wert legst..
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
Anfänger Gast
|
Verfasst am: Mo Okt 16, 2006 10:15 am Titel: |
|
|
Die Sache ist nur die, dass ich die Zeiten als Variablen definiere und dann immer nochmal umrechnen muss  |
|
| Nach oben |
|
 |
BoBo Gast
|
Verfasst am: Mo Okt 16, 2006 11:23 am Titel: |
|
|
| Code: | | MyVar := MyVar/1000 ; das vars |
|
|
| Nach oben |
|
 |
Thalon
Anmeldedatum: 25.10.2005 Beiträge: 1889 Wohnort: Österreich
|
Verfasst am: Mo Okt 16, 2006 12:15 pm Titel: |
|
|
| Code: | | WinWaitNotActive,MeinProgFenstertitel,, % Time_Var / 1000 | Nicht probiert, sollte aber funken..
Thalon _________________ Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe |
|
| Nach oben |
|
 |
|