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)
So, nun das Problem, wenn das fenster inaktiv ist, sendet er dies nicht mehr.
Aktiviere ich den Chat und lass z.B. die Taste 'a' Senden, schreibt er das aber in den chat obwohl das fenster inaktiv ist.
Weiß einer woran das liegt?
(Nochmal im Aktiven Fenster funtzt alles einwandfrei)
habe ich auch nie drum gebeten :P
du hast keinerlei informationen angegeben, um welches programm es sich den handelt, und so ist das nunmal das warscheinlichste problem =)
am besten du testest deine text-funktionen zunächst an notepad. bist du dort in der lage in jedem zustand zu senden, hat das problem nichts mit der funktion an sich zu tun.
Aktiviere ich den Chat und lass z.B. die Taste 'a' Senden, schreibt er das aber in den chat obwohl das fenster inaktiv ist.
(Nochmal im Aktiven Fenster funtzt alles einwandfrei)
Ich will nicht unhöflich sein aber lern lesen...
Es funktioniert eig. schon im inaktiven nur halt dass er nichts anderes macht als in den chat schreibt.
Ehrlich gesagt kann ich mir das nicht vorstellen dass es ein "schutz" vom spiel ist. Denn warum sollte es dann im aktiven fenster einwandfrei funktionieren obwohl ich den selben funktions aufruf habe?
Warum sollte es kein Schutz vom Spiel sein, wenn du doch immer die gleiche Funktion nutzt, und nur der Zustand des Fensters sich ändert? Dann ist doch das Fenster die variable die nicht passt.
den test habe ich vorgeschlagen (in diesem falle eigentlich sinnlos) um einfach mal an einem programm von dem du weist des es keine schutzmechanismen beinhaltet, deine funktion zu testen...
das es im aktiven zustand funktioniert, heist noch lange nicht das es auch sonst funktioniert... (wobei das wie gesagt bei postmessage eigentlich nicht der fall sein sollte) da du allerdings nicht direkt per dllcall auf die winapi zugreifst, sondern über eine in autoit vorgefertigte version dieses winapi zugriffs, würde ich es halt testen...
wenn du meinen post richtig gelesen hättest, hättest du wohl aber auch nicht gesagt, dass ich "mal lesen lernen soll"...
wenn es im inaktiven zustand nicht funktioniert, gibt es noch viele möglichkeiten, wie man es denn trotzdem hinbekommen könnte, je nachdem ob man weis, worauf genau das programm denn prüft.
swarn das hast du faslch verstanden.
winapi = windows application programming interface.
das sind die windows .dlls zu finden im system32 ordner (oder auch nicht grad zu faul zum gucken)
z.b. user32.dll
kernel32.dll
ich glaub aber nicht, das das was mit dem vorgefertigten _sendmessage von autoit zu tun hat.
der funktions aufruf der UDF sieht so aus.
PHP Code:
Func _SendMessage($hWnd, $iMsg, $wParam = 0, $lParam = 0, $iReturn = 0, $wParamType = "wparam", $lParamType = "lparam", $sReturnType = "lresult")
Local $aResult = DllCall("user32.dll", $sReturnType, "SendMessageW", "hwnd", $hWnd, "uint", $iMsg, $wParamType, $wParam, $lParamType, $lParam)
If @error Then Return SetError(@error, @extended, "")
If $iReturn >= 0 And $iReturn <= 4 Then Return $aResult[$iReturn]
Return $aResult
EndFunc ;==>_SendMessage
macht echt keinen unterschied, ob ich das direkt call oder die UDF nutz
[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>