|
You last visited: Today at 00:15
Advertisement
ControlSend Frage/Hilfe
Discussion on ControlSend Frage/Hilfe within the AutoIt forum part of the Coders Den category.
12/27/2013, 22:15
|
#1
|
elite*gold: 50
Join Date: Feb 2009
Posts: 765
Received Thanks: 927
|
ControlSend Frage/Hilfe
Hallo Community,
Folgendes Problem, ich schaffe es nicht per ControlSend die Taste " / " erfolgreich abzuschicken.
Mein Ziel ist es in einen Chat eingeben zu lassen " /fenster 2 "
Was ich getestet habe ist,
Code:
ControlSend("Fenster", "", "", "+7") ;geht nicht
Code:
ControlSend("Fenster", "", "", "+{7}") ;geht einmalig, bei ner while schleife nur noch ne 7 statt /
Code:
ControlSend("Fenster", "", "", "{SHIFTDOWN}")
ControlSend("Fenster", "", "", "7")
ControlSend("Fenster", "", "", "{SHIFTUP}") ;geht auch nicht
Code:
$test = "+{7}"
ControlSend("Fenster", "", "", $test) ;geht als variable auch nicht
Ihr seht ich versuche einen Weg alleine zu finden, nach langen rescherchen frage ich jetzt doch mal auch euch.
Ich hoffe mir kann wer helfen.
|
|
|
12/28/2013, 13:23
|
#2
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Hast du es überhaupt mal mit ControlSend("WinTitle", "", "", "/fenster 2") versucht?
Außerdem gehört das in die AutoIt Section -> moverequest.
Kann es sein das der Chat ein eigenes Control ist? Dann musst du das bei der Control ID angeben, oder es kann auch sein das du erstmal den Chat mit Enter öffnen musst, aber das ist sicherlich nicht dein Problem.
|
|
|
12/28/2013, 18:05
|
#3
|
elite*gold: 50
Join Date: Feb 2009
Posts: 765
Received Thanks: 927
|
Quote:
|
ControlSend("WinTitle", "", "", "/fenster 2")
|
wenn du mit WinTitle, das inaktive Fenster meinst in meinem Fall Diablo 2, sprich ("Diablo 2", "", "", "/fenster 2") das geht leider nicht.
Ergebnis wäre -> 7fenster 2
Vllt verwechsle/verstehe ich auch gerade nicht was du gezielt mit WinTitle meinst.
Evt. hilft es mehr wenn du mein Sorce Code mal siehst.
Code:
While 1
Global $iLoop = True
If Not $iLoop Then ExitLoop
ControlSend("Diablo 2", "", "", "{ENTER}")
Sleep(100)
ControlSend("Diablo 2", "", "", "/fenster 1")
Sleep(500)
ControlSend("Diablo 2", "", "", "{ENTER}")
Sleep(2000) ;fenster1
If Not $iLoop Then ExitLoop
WEnd
Wie ich schon im ersten Post erwähnt habe, hab ich es auf die anderen Möglichkeiten getestet. Mein Ergebnis ist so gut wie immer " 7fenster 1 "
Das einzigste ist bei,
ControlSend("Fenster", "", "", "+{7}")
ControlSend("Fenster", "", "", "fenster 1")
ect.
ist das erste Ergebnis " /fenster 1 " doch bei der Wiederholung der While-Schleife ist das nächste Ergebnis " 7fenster 1 "
Ich weis echt nicht mehr weiter >.<
|
|
|
12/28/2013, 18:39
|
#4
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
WinTitle war der Titel vom Fenster, den kenne ich ja nicht deshalb hab ich das da einfach hingeschrieben.
Du könntest mal das hier versuchen:
Code:
ControlSend("Diablo 2", "", "", "{ENTER}" & Chr(47) & "fenster 1{ENTER}")
Vielleicht musst du die Teile mit dem Enter in unterschiedliche ControlSends packen aber sollte passen.
/ ist im ASCII-Table Index 47, d.h. Chr(47) würde einen / returnen.
|
|
|
12/29/2013, 07:53
|
#5
|
elite*gold: 50
Join Date: Feb 2009
Posts: 765
Received Thanks: 927
|
Code:
ControlSend("Diablo 2", "", "", "{ENTER}" & Chr(47) & "fenster 1{ENTER}")
Ergebnis = 7fenster 1
Code:
ControlSend("Diablo 2", "", "", Chr(47))
Ergebnis = 7
Code:
ControlSend("Diablo 2", "", "", "{ENTER}")
Sleep(100)
ControlSend("Diablo 2", "", "", Chr(47))
Sleep(100)
ControlSend("Diablo 2", "", "", "fenster 1")
Sleep(500)
ControlSend("Diablo 2", "", "", "{ENTER}")
Ergebnis = ( erstes mal, /fenster 1 - Wiederholtes, 7fenster 1 )
EDIT:
Code:
Opt("SendKeyDownDelay", 150)
ControlSend("Diablo 2", "", "", "{ENTER}" & Chr(47) & "fenster 1{ENTER}" & $smash)
Ergebnis = /fenster 1
wahrscheinlich lag es an Opt("SendKeyDownDelay", 150)
Ich bedanke mich trozdem bei deiner Hilfe, den ohne deinen Tipp wäre ich wohl nicht auf die Idee gekommen.
EDIT:
Zu früh gefreut, sobald ich raus Tabe ( alt+ tab ) und nicht mehr im Fenster bin,
ist das Ergebnis wieder 7fenster 1
Es lag auch nicht an "Chr(47)" es funktioniert auch "/fenster 1" wurde durch "SendKeyDownDelay" behoben.
Mein momentaner Stand,
Code:
Opt("SendKeyDownDelay", 150)
Global $iLoop = True
While 1
Global $iLoop = True
If Not $iLoop Then ExitLoop
ControlSend("Diablo 2", "", "", "{ENTER}" & "/fenster 1{ENTER}" & $smash)
If Not $iLoop Then ExitLoop
WEnd
Problem ist, sobald ich raus Tabe, ist Ergebnis = 7fenster 1
        
|
|
|
12/29/2013, 13:06
|
#6
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Wie schauts aus, wenn du 2x / sendest? Wenn das 2. richtig ankommt kannst du das davor ja löschen.
|
|
|
12/29/2013, 13:27
|
#7
|
elite*gold: 50
Join Date: Feb 2009
Posts: 765
Received Thanks: 927
|
das Problem ist schon behoben, er sendet es jetzt richtig /fenster 1
nur sobald ich das Fenster minimiere oder raus Tabe, schickt er nur noch 7fenster
da ich aber über Controlsende, dürfte das doch normalerweise nicht passieren.
vorhin ist es mir sogar passiert, das es sogar ein paar mal gecrashed ist.
|
|
|
12/29/2013, 14:23
|
#8
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Dann versuch dich mal an SendMessage / PostMessage wenn es damit nicht geht.
Oder focus das Fenster und sends dann wenn das das Problem sein sollte.
|
|
|
12/30/2013, 14:13
|
#9
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
General Coding -> AutoIt
#moved
|
|
|
 |
Similar Threads
|
Brauche Hilfe in AutoIT (Controlsend)
05/26/2013 - Nostale - 2 Replies
hi erstmal, ich hab mir n bot in autoit geschrieben der permanent enter drücken soll, ich hab immer 2 nos fenster offen, aber da ich controlsend nostale hab sendet er in beide fenster was ich nicht will... habs auch schon mit wintitelchange versucht aber der fenstername von einem ändert sich nicht, jemand ne idee? :D
|
Frage ControlSend Problem
04/12/2012 - AutoIt - 8 Replies
Hallo,
Ich habe ein "Bot" geschrieben und es funktioniert alles außer wenn ich die Taste die gesendet werden soll Manuell Fest gelegt werden soll.
Ändere ich die Taste in AutoIt funktioniert alles sobal ich es manuell machen will geht es nicht.
$fenstername= InputBox("Fenstername", "Bitte geben sie einen Fensternamen ein","FLYFF")
$Zeit = InputBox("Interval","Interval in Millisekunden","5000")
$taste= InputBox("Taste", "Bitte geben sie eine F-Taste ein","F4")
$handle =...
|
brauche hilfe mit autoit + controlsend für shaiya
09/11/2010 - Shaiya - 4 Replies
$array = WinList ("Shaiya")
$handle1 = $array
$handle2 = $array
WinActivate ($handle1)
MsgBox(0, "h", ControlSend($handle1 ,"","", "{1}"))
HotKeySet ("{0}", "Start")
HotKeySet ("{9}", "pause")
Global $Paused
|
HILFE BEI PIXELSEARCH UND CONTROLSEND ZUSAMMEN AGIEREN LASSEN
07/02/2010 - AutoIt - 7 Replies
HI @all;)
also ich hab wieder mal ein kleines Problemchen;) mit meinem Farmerama-Bot.
Mein Bot sucht (mit pixelsearch) auf DER GANZEN SEITE nach deHexcode...
Findet sie und giebt sie an Controlklick weiter....
Nur leider ist das geckopluginwindow (für Controlclick) Kleiner und auch noch zu scrollen
(F *A *R *M *E *R *A *M *A . d e )
|
Controlsend ^ / !
12/30/2008 - Guild Wars - 9 Replies
Hiho,
ich hatte im Botbereich schon gefragt,aber da war iwas mit No Questions.
Hier fragen jedenfalls auch Leute und deshalb stell ich die Frage hier:
Ich habe mir ein Tool gebaut, was einen String, der von einem GUIinput in einer Variable geschrieben wurde, an x-beliebig viele GW-Fenster über Controlsend sendet. -soweit funktionierts-
Nur leider geht dabei weder Capslock, noch die Zeichen ^ / ! (da sie in Autoit ja andere Funktionen haben).
Ist es möglich, diese trotzdem per Controlsend...
|
All times are GMT +1. The time now is 00:15.
|
|