Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 23:11

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[METIN2 Pserver] PostMessage Problem

Discussion on [METIN2 Pserver] PostMessage Problem within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
J-ىlaught's Avatar
 
elite*gold: 2287
Join Date: Aug 2008
Posts: 1,510
Received Thanks: 539
[METIN2 Pserver] PostMessage Problem

Wie der Titel schon sagt habe ich ein Problem mit der PostMessage Funktion.
Ich versuche einen Klick im Hintergrund zu erzeugen und danach will ich, dass die "Enter" taste nach dem klick gedrückt wird. Nur passiert das nicht.
Versuche schon seit Wochen mein Problem zu finden, aber finde nichts.
Falls mir einer helfen kann, wäre ich sehr dankbark und wenn ihr zu viel Zeit habt,
könnt ihr mir ja den Code so korrigieren, dass ich es nutzen kann.
Zur Hilfe Poste ich den Code der mit offenem, also nicht minimiert, Fenster funktioniert und dann den Code der im Hintergrund funktionieren soll.


Fenster offen: Funktioniert
Code:
#include <MsgBoxConstants.au3>

WinWaitActive("METIN2")

; Press Esc to terminate script, Pause/Break to "pause"

Global $g_bPaused = False

HotKeySet("{PAUSE}", "HotKeyPressed")
HotKeySet("{ESC}", "HotKeyPressed")

While 1
   MouseClick("right",1340,657,9,9)
   Send("{ENTER}")
   Send("{ENTER}")
   Send("{ENTER}")
   MouseClick("right",1341,657,9,9)
   Send("{ENTER}")
   Send("{ENTER}")
   Send("{ENTER}")
   MouseClick("right",1342,657,9,9)
   Send("{ENTER}")
   Send("{ENTER}")
   Send("{ENTER}")
   MouseClick("right",1341,657,9,9)
   Send("{ENTER}")
   Send("{ENTER}")
   Send("{ENTER}")
   MouseClick("right",1342,657,9,9)
   Send("{ENTER}")
   Send("{ENTER}")
   Send("{ENTER}")
   MouseClick("right",1341,657,9,9)
   Send("{ENTER}")
   Send("{ENTER}")
   Send("{ENTER}")
   WEnd

   Func HotKeyPressed()
    Switch @HotKeyPressed ; The last hotkey pressed.
        Case "{PAUSE}" ; String is the {PAUSE} hotkey.
            $g_bPaused = Not $g_bPaused
            While $g_bPaused
                Sleep(100)
                ToolTip('Script is "Paused"', 0, 0)
            WEnd
            ToolTip("")

        Case "{ESC}" ; String is the {ESC} hotkey.
            Exit

    EndSwitch
EndFunc   ;==>HotKeyPressed
Fenster minimiert: Wird ausgeführt, aber keine Klicks und kein "Enter"
Code:
#include <MsgBoxConstants.au3>
#include <KeyCodes.au3>
#include <PostMessage.au3>
#RequireAdmin


Global $hWnd = WinGetHandle("METIN2");

WinSetState($hWnd, "", @SW_HIDE)

; Press Esc to terminate script, Pause/Break to "pause"

Global $g_bPaused = False

HotKeySet("{PAUSE}", "HotKeyPressed")
HotKeySet("{ESC}", "HotKeyPressed")

While 1
	_PostMessage_Click($hWnD, 356, 602, "right", 10, 9)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Click($hWnD, 357, 602, "right", 10, 9)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Click($hWnD, 358, 602, "right", 10, 9)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Click($hWnD, 356, 602, "right", 10, 9)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Click($hWnD, 357, 602, "right", 10, 9)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Click($hWnD, 358, 602, "right", 10, 9)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Click($hWnD, 356, 602, "right", 10, 9)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Click($hWnD, 357, 602, "right", 10, 9)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Click($hWnD, 358, 602, "right", 10, 9)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
	_PostMessage_Send($hWnD, "{ENTER}", 10)
	_PostMessage_SendUp($hWnD, "{ENTER}", 10)
	_PostMessage_SendDown($hWnD, "{ENTER}", 10)
WEnd

Func HotKeyPressed()
	Switch @HotKeyPressed ; The last hotkey pressed.
		Case "{PAUSE}" ; String is the {PAUSE} hotkey.
			$g_bPaused = Not $g_bPaused
			While $g_bPaused
				Sleep(100)
				ToolTip('Script is "Paused"', 0, 0)
			WEnd
			ToolTip("")

		Case "{ESC}" ; String is the {ESC} hotkey.
			Exit

	EndSwitch
EndFunc   ;==>HotKeyPressed
J-ىlaught is offline  
Old 10/08/2014, 12:17   #2
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Du kannst keine Clicks an minimierte Fenster senden, entweder du lässt es inaktiv im Hintergrund oder @SW_HIDEst es.

Außerdem heißt das Fenster nicht "$hWnd" sondern $hWnd.
alpines is offline  
Old 10/08/2014, 12:29   #3
 
FacePalmMan's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
Ich kann dir auch anbieten dass wir zusammen dein programm zusammen (über Skype oder Team Viewer) umschreiben so dass
A: das was du erreichen willst funktioniert
B: dein Programm am Ende mehr funktionen hat (Speed, Attackspeed, Wallhack, 1Hit, XYZ, Moblock, AutoPott, AutoSkill, und viel mehr), denn ich hab selber schon mal sowas gemacht, nur suche ich jemanden der Zeit und Lust hat sowas zu schreiben (oder einfach nur zuzuschauen und zu lernen wie ich das mache).
Wenn du lust hast, kannst du mich in Skype adden (das Skype icon wo du draufklicken musst findest du bei diesem Post über dem Report Button).
FacePalmMan is offline  
Old 10/08/2014, 16:32   #4
 
J-ىlaught's Avatar
 
elite*gold: 2287
Join Date: Aug 2008
Posts: 1,510
Received Thanks: 539
Quote:
Originally Posted by alpines View Post
Du kannst keine Clicks an minimierte Fenster senden, entweder du lässt es inaktiv im Hintergrund oder @SW_HIDEst es.

Außerdem heißt das Fenster nicht "$hWnd" sondern $hWnd.
Wie sieht es denn als Code aus wenn ich das hiden will ? Also das Fenster was ich hiden möchte heißt einfach nur "METIN2"

Edit: Hat sich erledigt ^^
Code:
WinSetState($hWnd, "", @SW_HIDE)
Edit2: Jetzt hab ich das Problem, dass es sich beim hiden schließt also das Fenster. Heißt das jetzt, dass ich es inaktiv im Hintergrund haben muss, weil es nicht geht oder mache ich etwas falsch ?
J-ىlaught is offline  
Old 10/08/2014, 16:56   #5
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Schließt es sich oder ist es gehided?
Hide es doch mal für paar Sekunden und @SW_SHOW es wieder; sollte es auftauchen, dann wird es nicht geschlossen.
alpines is offline  
Old 10/09/2014, 00:54   #6
 
J-ىlaught's Avatar
 
elite*gold: 2287
Join Date: Aug 2008
Posts: 1,510
Received Thanks: 539
Quote:
Originally Posted by alpines View Post
Schließt es sich oder ist es gehided?
Hide es doch mal für paar Sekunden und @SW_SHOW es wieder; sollte es auftauchen, dann wird es nicht geschlossen.
Es ist hidden, entschuldige. Sehe das grad bei den Prozessen, dass es noch läuft.

Eine Frage jetzt noch. Wenn ich es hidden habe und die ganz normale send funktion benutze, kann ich trotzdem den Zeiger bewegen ohne, dass es an die Koordinaten umspringt die ich angegeben habe ?
J-ىlaught is offline  
Old 10/09/2014, 16:10   #7
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Ich hoffe ich hab dich richtig verstanden.

Nein kannst du nicht, die Send Funktion sendet Tasteneingaben direkt und diese nicht an Hidden-Fenster sendbar, du musst vermutlich bei PostMessage bleiben.
alpines is offline  
Reply


Similar Threads Similar Threads
[C#]PostMessage problem.
01/16/2014 - .NET Languages - 6 Replies
Ich bin gerade dabei einen kleinen Bot für ein Spiel (DirectX App) zu schreiben. public static extern int PostMessage(IntPtr hwnd, uint wMsg, int wParam, int lParam); static extern uint GetLastError(); public static Process processes = Process.GetProcessesByName("game.bin");
Problem mit PostMessage
03/04/2011 - AutoIt - 8 Replies
Hallo, Also kurzum, ich will Tasten an ein inaktives Fenster senden. z.b. die {TAB} taste. Dies funktioniert auch, wenn das Fenster aktiv ist. _WinAPI_PostMessage($hWnd, 0x100, $TAB, 0x0)
[c++]postmessage problem
07/03/2010 - C/C++ - 7 Replies
hi ich hab wieder mal ein problem ich versuche mit c++ einen bot zu schreiben und möchte einen tastendruck zum gewünschten fenster senden (nostale) mit postmessage aber wie?? ich habs mal so probiert #include <iostream> #include <windows.h>



All times are GMT +1. The time now is 23:11.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.