Hey.
Ich habe einen Button, der eine ziemlich "sensible" Funktion ausführt. Wenn ich nun aus versehen diesen Button klicke, kann das "unangenehme" Folgen nach sich ziehen.
Jetzt könnte man sagen: "Bau doch eine zusätzliche Abfrage als Sicherheit rein, ob du das wirklich machen willst..."
Ja, daran hab ich schon gedacht. Aber dem fehlt jegliche "Rafinesse". Wie löse ich das denn ab besten?
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#Include <Misc.au3>
Global $gui = GUICreate("test")
Global $btn = GUICtrlCreateButton("testbutton",10,10)
Global $countertime = 1000
GUISetState(@SW_SHOW)
While 1
$nmsg = GUIGetMsg($gui)
Select
Case $nmsg = $GUI_EVENT_CLOSE
Exit
Case $nmsg = $btn
buttoncounter(4)
;~ buttoncounter2(4)
EndSelect
WEnd
; diese Funktion funktioniert nicht!
Func buttoncounter($count)
$i = 0
While $i <= $count
Sleep($countertime)
$nmsg2 = GUIGetMsg($gui)
Select
Case $nmsg2 = $btn
$i = $i + 1
EndSelect
WEnd
If $i = $count Then MsgBox(0, "", "jetzt wird die funktion hoffentlich nur einmal gestartet")
EndFunc
;und diese Funktion klappt auch nicht!
Func buttoncounter2($count)
$dll = DllOpen("user32.dll")
$i = 0
While _IsPressed("01", $dll)
Sleep($countertime)
If $i = $count Then
MsgBox(0, "", "jetzt wird die funktion hoffentlich nur einmal gestartet")
ExitLoop
EndIf
$i = $i + 1
WEnd
DllClose($dll)
EndFunc
Hab diese Schleifen auch schon mit "Do ... until" und "For ... Next" versucht, aber nix klappt.
Kann mir jemand weiterhelfen?
MfG Lottich