- Offizieller Beitrag
Hallo,
diejenigen von euch, die auch Carom spielen, kennen sicher das Problem:
Beim Spiel im Practice-Mode muß nach Spielende wieder der Spieltyp und der Raum ausgewählt werden. Voreinstellungen sind nicht möglich.
Das wollte ich nun mittels eines Scripts automatisieren. Aber irgendwas mach ich wohl falsch :(. Das Script reagiert gar nicht auf die Control-Commands.
Ich hab es jetzt mit Mausklicks realisiert (und die Controls auskommentiert), würde es aber lieber mit den Controls machen.
Hier der Code:
Spoiler anzeigen
Code
#include <GUIConstants.au3>
$Form1 = GUICreate("carom Start", 226, 159, (@DesktopWidth-226)/2, (@DesktopHeight-159)/2 )
$start = GUICtrlCreateButton("Start Carom3D", 40, 32, 145, 33)
$escape = GUICtrlCreateButton("Abbrechen", 40, 88, 145, 33)
GUISetState(@SW_SHOW)
HotKeySet("!ä", "_CaromStart") ; "ägain" LOL
$aktiv = 0
While 1
$msg = GuiGetMsg()
$state = WinGetState("Carom3D", "")
Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $escape Or ($state = 0 And $aktiv > 0)
ExitLoop
Case $msg = $start ; Practice Mode
GUISetState(@SW_HIDE, $Form1)
Run("carom.exe", "H:\Program Files\Carom3D\")
WinWaitActive("Carom3D")
$aktiv = 1
_CaromStart()
EndSelect
WEnd
Exit
Func _CaromStart()
;>>>>>>>>>>>> Window Details <<<<<<<<<<<<<
;Title: Carom3D
;Class: Carom3D
;BUTTON: PRACTICE
;>>>>>>>>>>> Control Under Mouse <<<<<<<<<<<
;Control ID: 1026
;ClassNameNN: Button27
;ControlClick("Carom3D","",1026) ; Button PRACTICE
MouseClick("left",535,180)
;AUSWAHLFENSTER PRACTICE
;>>>>>>>>>>>> Window Details <<<<<<<<<<<<<
;Title:
;Class: #32770
;COMBO-BOX: GAME-TYP
;>>>>>>>>>>> Control Under Mouse <<<<<<<<<<<
;Control ID: 1013
;ClassNameNN: ComboBox1
;>>>>>>>>>>> Visible Window Text <<<<<<<<<<<
;Eight Ball
;ControlClick("","",1013) ; Combo-Box Gametyp ?? Ist das nötig, da ControlCommand(.."SelectString"..) folgt ??
MouseClick("left",360,275)
;ControlCommand("","",1013,"SelectString",'Eight Ball') ; Auswahl Spiel
MouseClick("left",365,325)
;COMBO-BOX: ROOM-TYP
;>>>>>>>>>>> Control Under Mouse <<<<<<<<<<<
;Control ID: 1014
;ClassNameNN: ComboBox2
;>>>>>>>>>>> Visible Window Text <<<<<<<<<<<
;Korean Room
;ControlClick("","",1014) ; Combo-Box Raumtyp ?? Ist das nötig, da ControlCommand(.."SelectString"..) folgt ??
MouseClick("left",360,325)
;ControlCommand("","",1014,"SelectString",'Korean Room') ; Auswahl Raum
MouseClick("left",360,385)
;BUTTON: OK
;>>>>>>>>>>> Control Under Mouse <<<<<<<<<<<
;Control ID: 1
;ClassNameNN: Button1
;Text: OK
;ControlClick("","",1) ; OK-Button
MouseClick("left",310,370)
EndFunc
Alles anzeigen
Die Ergebnisse von AutoitWindowInfo habe ich den jeweiligen Controls vorangestellt.