Ich möchte ,dass ein Script zu einer Applikation einen send befehl schickt.Die Applikation nimmt aber anscheinend keine Send befehle von einem au3 Script.
Das Script soll einfach nur {SPACE} senden.
Kennt jemand eine Lösung?
In Application Send
-
- [ offen ]
-
SteH -
13. März 2008 um 15:36 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Ich würde gern eine Millionen $ unter meinem Kopfkissen finden.
Welche Anwendung? Autoit Info Tool Daten? Fehler? Code?
Mega
-
Hey SteH,
Ich verstehe nicht ganz was du meinst, aber der normale Send Befehl schreibt dort die zeichen rein, wo du gerade markiert hast. Wenn du speziell an eine Applikation einen Sendbefehl senden willst, musst du ControlSend benutzen.
Gruß
-
Die Applikation ist Star Wars Battlefront II
[autoit]
Space löst aus der der Chara sich abrollt oder Spring macht er aber nicht:Opt("WinWaitDelay",100)
[/autoit][autoit][/autoit][autoit]
Opt("WinTitleMatchMode",4)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)HotKeySet("{F1}","void_start")
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
HotKeySet("{END}","void_pause")
HotKeyset("{ESC}","Terminate")WinWait("Star Wars Battlefront II","")
[/autoit][autoit][/autoit][autoit]
If Not WinActive("Star Wars Battlefront II","") Then WinActivate("Star Wars Battlefront II","")
WinWaitActive("Star Wars Battlefront II","")While 1=1
[/autoit][autoit][/autoit][autoit]
Sleep(100)
WEndFunc void_start()
[/autoit][autoit][/autoit][autoit]
While 1=1
Send("{SPACE}")
Sleep(4000)
WEnd
EndFuncFunc void_pause()
[/autoit][autoit][/autoit][autoit]
While 1=1
Sleep(100)
WEnd
EndFuncFunc Terminate()
[/autoit][autoit][/autoit][autoit][/autoit]
Exit 0
EndFunc -
wahrscheinlich ist deine apllication nicht aktiv.
nutze also einfach mal winactivate....
dann kommt dein space sicherlich an.
Greetz
Edit: Oh, das ändert natürlich wieder alles^^
-
- Offizieller Beitrag
Hi,
oder probier ControlSend ohne ControlID. Spiele können aber Probleme machen.
Mega
-
Ganz allgemein ist es so, das viele Spiele nur von bestimmten Applikationen Tastendrücke oder ähnliches akzeptieren. Ich habe mal ein Bot für ein Spiel geschrieben, da mußtest Du alle Aktionen an den Desktop senden (lacht nicht, war wirklich so). Dann hat das Spiel es akzeptiert. Wenn aber das Spiel selber im Vordergrund war, sind die Tastendrücke ignoriert worden.
Oder aber das Script mußte mit einem bestimmten Namen kompiliert sein, dann ging es direkt. Also, einfach etwas Fantasie entwickeln und ne Menge Glück habenGruß,
TrueMu
PS: Wenn es für das Spiel schon irgendwelche funktionierende Bots gibt, kannst Du da abgucken, wie es gemacht werden kann. Habe zB auch schon gesehen, das ein Bot ein Minifenster (so 6x6 Pixel) über das eigentliche Gamewindow gemalt hat, und dann alles an dieses Fenster geschickt hat. Sah echt zum Lachen aus, aber lief.