ArmA2oa.exe ControlSend funzt nicht sc.au3

03/05/2013 09:37 Volltboon#1
Jau,

Wollte für ArmA2oa einen Bot schreiben, der auch wenn Arma nicht aktiv ist, "W" sendet damit der Character laufen kann

Mein Problem ist, dass AutoIt irgendwie nicht genug Rechte o.ä. hat um den Befehl zu senden
Mit dieser MEthode klappt es bei allem außer Arma2oa , kann da einer aushelfen ? (normalerweise müsste es ja gehen, wenn man die .au3 ausführt)

PHP Code:
#RequireAdmin
HotKeySet("{F9}","_Exit")   ; F9 zum beenden
HotKeySet
("{F1}","_CS")


Local $WT WinGetTitle("ArmA","")
;
MsgBox(0,"",$WT,"","")



Func _CS()
    While 
1
    ControlSend
($WT,"","","w")
    
WEnd
EndFunc

Func _Exit
()
    Exit
EndFunc

While 1
    Sleep
(100)
WEnd 
03/05/2013 17:45 YatoDev#2
Quote:
Originally Posted by Volltboon View Post
Jau,

Wollte für ArmA2oa einen Bot schreiben, der auch wenn Arma nicht aktiv ist, "W" sendet damit der Character laufen kann

Mein Problem ist, dass AutoIt irgendwie nicht genug Rechte o.ä. hat um den Befehl zu senden
Mit dieser MEthode klappt es bei allem außer Arma2oa , kann da einer aushelfen ? (normalerweise müsste es ja gehen, wenn man die .au3 ausführt)

PHP Code:
#RequireAdmin
HotKeySet("{F9}","_Exit")   ; F9 zum beenden
HotKeySet
("{F1}","_CS")


Local $WT WinGetTitle("ArmA","")
;
MsgBox(0,"",$WT,"","")



Func _CS()
    While 
1
    ControlSend
($WT,"","","w")
    
WEnd
EndFunc

Func _Exit
()
    Exit
EndFunc

While 1
    Sleep
(100)
WEnd 
muss man denn dafür keinen bypass haben ?
sonst funktioniert der code aber ?
03/05/2013 18:16 Volltboon#3
Der Code funktioniert und nein man muss dafür keinen Bypass haben, denn ich war auch schon auf einem Non-BattleEye Server und es hat auch dort nicht funktioniert
03/05/2013 21:03 lolkop#4
Quote:
Originally Posted by Volltboon View Post
Der Code funktioniert und nein man muss dafür keinen Bypass haben, denn ich war auch schon auf einem Non-BattleEye Server und es hat auch dort nicht funktioniert
was für controls hat denn den client?

teste als control mal jedes ergebnis von
Code:
ConsoleWrite(WinGetClassList("ArmA")&@CRLF)
03/05/2013 22:19 Volltboon#5
Quote:
Originally Posted by lolkop View Post
was für controls hat denn den client?

teste als control mal jedes ergebnis von
Code:
ConsoleWrite(WinGetClassList("ArmA")&@CRLF)
giebts dafür nicht eig. das WindoInfo Tool ?

aber ich werde es ausprobieren morgen früh , danke
03/05/2013 22:23 lolkop#6
Das WindowInfo Tool gibt dir immer das oberste Control zurück. Das heißt aber noch lange nicht, das dieses Control auch deine Interaktionen entgegen nimmt.
03/06/2013 09:14 Volltboon#7
WinGetClass giebt bei mir die Zahl 2 aus, wenn ich bei Class ID , die 2 oder die Variable für deinen Befehl einsetze, funktioniert es immernoch nicht :c
komischerweise funktioniert aber das normale "Send" schon ..
03/06/2013 10:45 butter123#8
send funktioniert auch anders. send simuliert direkt die tastenschläge, wobei controlsend direkt bspw an ein textfeld die buchstaben sendet.
03/06/2013 12:00 Volltboon#9
Quote:
Originally Posted by butter123 View Post
send funktioniert auch anders. send simuliert direkt die tastenschläge, wobei controlsend direkt bspw an ein textfeld die buchstaben sendet.
Hättest Du dann eine Möglichkeit, wie ich den Tastenschlag "W" an Arma2oa.exe senden könnte, ohne dass das Fenster aktiv ist ?