Wie kann ich schauen, ob folgende MsgBox bereits auf dem Display zu sehen ist?
Spoiler anzeigen
[autoit]
MsgBox(0,"Box ist offen","MsgBog ist offen")
Wie kann ich schauen, ob folgende MsgBox bereits auf dem Display zu sehen ist?
MsgBox(0,"Box ist offen","MsgBog ist offen")
Ich sag mal, mit einem breiten Grinsen im Gesicht: auf den Monitor schauen.
Nee, ernsthaft. Ich verstehe nicht recht den Sinn. Willst du eine Meldung ausgeben: Achtung die MsgBox ist da? - Dann setze vor den Code der MsgBox einfach ein Beep().
Hi
im Script würde ich probieren.
WinExists ( "title" [, "text"] )
[/autoit]Aber ich weis leider net wie du es herausfinden möchtest.
MfG
Der_Doc
Aber das geht ja eig. garnicht, da der Code ja bei der MsgBox nicht weiter ausgeführt wird. Höchstens mit Adlibenable oder so Aber wozu eigentlich? Wenn du die MsgBox aufrufst, ist sie da. Ist doch logisch ;).
Das würde schlecht gehn, da autoit ja nach zeilen geht. es hählt also an der msgbox an und kann somit garnet überprüfen, ob die msgbox offen ist.
Allerdings muss ich dazu sagen, ich versteh auch net so recht den sinn dahinter
EDIT: Und wieder zu spät
Das wird doch net etwar ein BOT liebe Alina
Scherz
MfG
Der_Doc
Also ich glaube Alina kann man in Hinsicht auf Bots vertrauen
Hallo Doc.
1.) ICH BOTTE NICHT !!!
Alleine das Du es mir zu traust ein :
Danke @Commander21, aber ich glaube das es die Stammuser wie Doc, BugFix, peethebee usw. alle tuen, denn ich mag die Dinger halt nicht.
2.) Hier mal ein Beispiel:
If FileExists(@ScriptDir & "\alt.exe") Then
_1delete()
_restart()
Else FileCopy("H:\br.exe", @ScriptDir & "\neu.exe")
EndIf
; Deletefunktion
Func _1delete()
FileDelete(@ScriptDir & "\alt.exe"
EndFunc
; Restartfunktion
Func _restart()
If @Compiled = 1 Then
MsgBox(0,"Hinweis","Erfolgreicher Abschluss.")
Run( FileGetShortName(@ScriptFullPath))
Else
MsgBox(0,"Hinweis","Erfolgreicher Abschluss.")
Run( FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
EndIf
Exit
EndFunc
; Exitfunktion
Func OnAutoItExit()
MsgBox(0,"Hinweis","Ich soll nur einmal aufgerufen werden, nicht aber beim RESTART.")
EndFunc
Es geht um die MSgBox in Zeile 30, die ja einmal durch das normale starten und einmal durch den Restart aufgerufen wird.
Habe ich das nun gut erklärt? "Ja", habe ich!
Mach dir ne ini oder text-datei und schreib da rein ob deine MsgBox aufgerufen werden soll...
Ich hätte da ne idee:
Du könntest in eine Datei schreiben:
MsgBox Read = True
und das script so verändern:
[autoit]FileOpen ("filename", 0)
$FileRead = FileRead ("Filename")
If $FileRead = "MsgBox Read = True" Then
MsgBox (0, "Hinweis", "Jetz wird diese MsgBox gezeigt.")
EndIf
Is eben nur en ansatz...
EDIT: Und wieder zu langsam
Mit Parameter aufrufen
Global $Restart = 0
If $CmdLine[0] > 0 Then
$Restart = 1
EndIf
If FileExists(@ScriptDir & "\alt.exe") Then
_1delete()
_restart()
Else
FileCopy("H:\br.exe", @ScriptDir & "\neu.exe")
EndIf
; Deletefunktion
Func _1delete()
FileDelete(@ScriptDir & "\alt.exe")
EndFunc ;==>_1delete
; Restartfunktion
Func _restart()
If @Compiled = 1 Then
MsgBox(0, "Hinweis", "Erfolgreicher Abschluss.")
Run(FileGetShortName(@ScriptFullPath) & ' Parameter')
Else
MsgBox(0, "Hinweis", "Erfolgreicher Abschluss.")
Run(FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath) & ' Parameter')
EndIf
Exit
EndFunc ;==>_restart
; Exitfunktion
Func OnAutoItExit()
If $Restart = 0 Then MsgBox(0, "Hinweis", "Ich soll nur einmal aufgerufen werden, nicht aber beim RESTART.")
EndFunc ;==>OnAutoItExit
einfach mal schauen ob ein zeichen in der schnellstartleiste vorhanden ist und wenn du es mit dem skript herausfinden willst dann würde ich es auch mal mit winexists probieren. Aber wozu eigentlich ? Diese Msgbox wird ja sowieso in den Vordergrund gestellt
mfg Bio