|
You last visited: Today at 16:28
Advertisement
ControlSend an 2 Fenster mit gleichem Namen
Discussion on ControlSend an 2 Fenster mit gleichem Namen within the AutoIt forum part of the Coders Den category.
07/27/2011, 00:21
|
#1
|
elite*gold: 0
Join Date: Jun 2011
Posts: 225
Received Thanks: 22
|
ControlSend an 2 Fenster mit gleichem Namen
Hiho ePvPs,
Ich hab da eine Frage. Es ist doch sicherlich möglich an 2 verschiedene Fenster, nehmen wir mal FlyFF (also 2 Fenster mit namen FlyFF), via der Prozess ID an ein bestimmtes Fenster einen Befehl zu senden. Ich lese die Prozess ID wie folgt aus :
PHP Code:
$window1buffer = WinWaitActive ("FlyFF") WinGetHandle($window1buffer) $window1 = WinGetProcess($window1buffer)
So sieht mein Code aus. Er liest auch eine Prozess ID aus die ich mir zur Sicherheit immer dannach in einer Msgbox ausgeben lasse. Allerdings wenn ich dann einen Befehl an dieses Fenster "FlyFF" schicke und bei ControlID die Prozess ID eintrage sendet er überhaupt keinen Key mehr. So sieht mein Befehl zum senden aus :
PHP Code:
ControlSend ("FlyFF","","Prozess ID","Irgendein Key")
weiß jemand wo mein Fehler liegt oder kennt jemand die Lösung?
greetz
|
|
|
07/27/2011, 00:32
|
#2
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,287
|
benenn doch die fenster einfach um. als opt den wintitlematchmode so einstellen das der fenstername 1:1 stimmen muss und dann einfach 2x setwindowtext mit FlyFF als 1stTitle aufrufen.
ungetestet
Code:
Func RenameWindows($szWindowText, $iCount)
For $i = 1 To $iCount
WinSetTitle($szWindowText, "", $szWindowText & $i)
Next
Return
EndFunc
aufruf
Code:
RenameWindows("FlyFF", 2)
$iCount ist logischerweise die anzahl der fenster die du umbenennen willst.
|
|
|
07/27/2011, 01:12
|
#3
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Da würde ich doch lieber die Vorzüge von AutoIt ausnutzen.
PHP Code:
$WinList = WinList("FlyFF")
For $i = 1 To $WinList[0][0]
ControlSend($WinList[$i][1], "", "", "W")
Next
|
|
|
07/27/2011, 01:36
|
#4
|
elite*gold: 0
Join Date: Jun 2011
Posts: 225
Received Thanks: 22
|
Hast du also die Fenster in einem Feld geordnet richtig? Somit könnte ich beliebig viele Fenster haben solange ich [1][1], [2][2], usw. bei Controlsend editiere richtig?
und das was ich mit der Prozess ID gemacht habe ist komplett überflüssig oder? :s
Hab nicht gedacht, dass das so einfach geht.
Naja werds mal ausprobieren danke!
greetz
|
|
|
07/27/2011, 10:33
|
#5
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Quote:
The array returned is two-dimensional and is made up as follows:
$array[0][0] = Number of windows returned
$array[1][0] = 1st window title
$array[1][1] = 1st window handle (HWND)
$array[2][0] = 2nd window title
$array[2][1] = 2nd window handle (HWND)
...
$array[n][0] = nth window title
$array[n][1] = nth window handle (HWND)
|
Lese dir das doch durch, [2][2] wird dir nicht mehr als einen Fehler bringen. Die For Schleife habe ich nicht umsonst gewählt. Für Spiele ist das mit der For Schleife je nach Anwendung aber schlecht.
|
|
|
07/27/2011, 10:44
|
#6
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,287
|
fragt sich nur ob er tatsächlich alle fenster umbennen will, oder nur eine gewisse anzahl.
btw jedes mal winlist zu callen ist performancelastig.
einmalig umbenennen ist definitiv die bessere lösung ^^
|
|
|
07/27/2011, 10:56
|
#7
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Es ist ja nur ein Beispiel, es würde aber auch nur mit einem Aufruf gehen. Dabei gibt es aber dann ein Problem, nach dem Schließen des Fensters ist das Handle ungültig und somit die Funktionsaufrufe unnötig. Selbes Problem ergibt sich aber auch beim umbenennen. Dieses Problem lässt sich aber sowieso ganz einfach lösen.
|
|
|
07/27/2011, 11:31
|
#8
|
elite*gold: 0
Join Date: Jun 2011
Posts: 225
Received Thanks: 22
|
Ab welchem Zeitpunkt wird sich Winlist performancelastig aus? Ich wollte eigentlich nur einen simplen Bot schreiben der F1,F2, ... (was man ausgewählt hat) an die jeweiligen Fenster schickt. Wird der PC langsamer wenn man den Bot ca. 1 Stunde laufen lässt (gehen wir von einem Standart PC aus) ?
Und mir ist noch nicht klar was du mit dem Handle meinst muss ich das in die Schleife einbauen? Ich bin da noch recht unerfahren in dem Gebiet darum bitte ich um Hilfe.
Quote:
WinGetHandle("FlyFF") wäre ja dann unlogisch bzw. falsch weil beide Fenster den gleichen Namen haben
WinGetHandle($Winlist[i][1]) würde dann doch für das erste Fenster funktionieren richtig?
|
|
|
|
07/27/2011, 12:11
|
#9
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Quote:
Originally Posted by Karamelleis
WinGetHandle($Winlist[i][1]) würde dann doch für das erste Fenster funktionieren richtig?
|
Befolge doch einfach mal meinen Rat und lese dir die Funktion durch. $WinList[$i][1] beinhaltet das Handle des n-ten Fensters. Das Handle eines Fenster mit Hilfe des bereits gegeben Handles zu bekommen macht keinen Sinn.
Bei einem simplen Bot kannst du es z. B. so anstellen:
PHP Code:
HotKeySet("1", "_Start")
HotKeySet("2", "_Pause")
HotKeySet("3", "_Exit")
Global $Paused = False
Func _Start()
$WinList = WinList("FlyFF")
If $WinList[0][0] == 0 Then
MsgBox(48, "Fehler", "FlyFF wurde nicht gefunden!")
Else
While Sleep(10)
For $n = 1 To $WinList[0][0]
ControlSend($WinList[$n][1], "", "", "{F1}")
Next
WEnd
EndIf
EndFunc
Func _Pause()
$Paused = Not $Paused
While $Paused
Sleep(100)
WEnd
EndFunc
Func _Exit()
Exit
EndFunc
While Sleep(100)
WEnd
|
|
|
07/27/2011, 12:34
|
#10
|
elite*gold: 0
Join Date: Jun 2011
Posts: 225
Received Thanks: 22
|
Danke jetzt verstehe ich es!
Kann geclost werden
|
|
|
 |
Similar Threads
|
2 Accounts Auf gleichem Server gesucht
11/02/2010 - Metin2 Trading - 0 Replies
Hi Leute!
Ich suche für mich und meinen Freund jeweils 1 Metin2 account.
Beide Auf dem Gleichen Server!!!!!!! ( muss nicht vom gleichen verkäufer sein)
Server ist egal.
Mindestens 65 Klasse: Egal
SKills: Sollte gut geskillt sein 1 g oder p skills oder mehr.
Für höchstens 35 Euro Psc Pro account.
Ps: Übern Moderator.
|
[Suche]4Story Schatti/Mage mit gleichem EQ!
10/13/2010 - 4Story Trading - 2 Replies
1. Angebot für Schatti oder Mage Server/Land egal!
Hey ich suche einen Schatti oder Mage mit gleichen eq wie mein Krieger Hier ist der Link:Klick!
was es noch zu sagen gibt der account hat keinen Mantel mehr aber dafür sind noch andere sachen oben wie z.B lvl53er Bogi und 30er Schatti!
Also was ich suche:
Schatti oder Mage
Komplett pvp +18 und Waffe +20
Mantel und mit gutem schmuck
|
Virtuelle Maus & Fenster mit Variablem Namen
10/07/2009 - AutoIt - 7 Replies
Ich spiele Ultima Online und habe auch einen sehr leistungstarken miningbot geschrieben..nur stehe ich jetzt vor einem großen Problem!
Das Script läuft nciht im Ultima Online fenster sondern einfach auf dem Programm welches unter der maus ist!
Die Maus wird effektiv bewegt also der Mauszeiger wandert!
Beides würde ich gerne ändern die bewegungen & klicks sollen nur im UO fenster passieren, geht aber leider nciht so trivial weil jeder nen eigenen fenster namen hat Ultima Online wie...
|
Frage zum einloggen auf gleichem server
09/12/2009 - Metin2 Private Server - 3 Replies
hab da mal ne frage und zwar wenn ich mit meinem main acc auf server 19 eingeloggt bin und mich mit nem zweiten fenster im gleichen server einloggen will sagt er mir "bitte wähle sie einen anderen server"
ist es möglich das ich mich mehrfach auf den server mit verschiedenen accs bzw. gleichen acc einloggen kann?
danke im vorraus
|
All times are GMT +1. The time now is 16:29.
|
|