erst mal danke für das TUT - hat mir ein Stück weit geholfen. Hab da aber noch eine Frage.
Quote:
//da in Spy++ die 2. TextBox über der 1. ist, mache ich das hier genauso:
Dim TextBox2 As IntPtr = FindWindowEx(GroupBox, IntPtr.Zero, "WindowsForms10.EDIT.app.0.b7ab7b", Nothing)
Dim TextBox1 As IntPtr = FindWindowEx(GroupBox, TextBox2, "WindowsForms10.EDIT.app.0.b7ab7b", Nothing)
TextBox2 (fett) kann so nicht stimmen, da es nicht deklariert werden kann.
Und, was mache ich, wenn mir die Namen der Textboxen nicht bekannt sind, weil fremdes Tool? Diese müssen ja nicht immer TextBox1, TextBox2 oder TextBox3 heißen.
1. Wieso sollte es nicht deklariert werden können? Weil du wahrscheinlich schon eine TextBox namens TextBox2 auf deiner Form hast? Du kannst deine Variablen so benennen wie du lustig bist, es muss nicht TextBox2 heißen.
2. Genau das wird doch in diesem Tutorial erklärt..? Am besten liest dus dir nochmal in Ruhe durch.
zu 1. Naja, wenn die zwei Formen in einem Projekt erstellt werden, dann geht's natürlich. Wenn aber 2 Projekte erstellt werden, dann nicht. Woher soll auch Projekt1"Form1" wissen wo in Projekt2"Form1" die Textfelder sind.
2. Hab's nochmals gelesen. Keine Ahnung wo das steht, was ich gefragt habe.
sorry für meine irreführenden Worte. Am besten ich fang mal von vorne an. :-)
Ich habe 2 Programme - genannt Sender und Empfänger.
Programm Sender soll sowohl Textfelder aus Programm Empfänger auslesen als auch Werte übergeben.
Leider schaffe ich es nicht, die Textfelder (Empfänger) zu identifizieren um sie richtig anzusteuern. Es wird ausschließlich das letzte Textfeld angesteuert.
Die Dateien kannst Du unter anschauen bzw. downloaden.
Benutzername: Gast@sterat - Passwort: bingast
Würde mich freuen, wenn Du mir hier weiter helfen könntest.
tja, scheint so, dass ich mit dem was ich anfangs gemeint habe recht zu haben oder warum höre ich jetzt nichts mehr von Dir? ;-)
Grüße
Tut mir leid, war ne längere Zeit ziemlich inaktiv hier. Falls du trotzdem nochmal auf diesen Thread stoßen solltest:
Wie du siehst ist in Spy++ deine untere TextBox über der oberen TextBox, also machst dus am besten ganz genauso:
PHP Code:
//Handles finden Dim Hauptfenster As IntPtr = FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1", "Empfänger") Dim UntereTextBox As IntPtr = FindWindowEx(Hauptfenster, IntPtr.Zero, "WindowsForms10.EDIT.app.0.2bf8098_r13_ad1", Nothing) Dim ObereTextBox As IntPtr = FindWindowEx(Hauptfenster, UntereTextBox, "WindowsForms10.EDIT.app.0.2bf8098_r13_ad1", Nothing) Dim BeendenButton As IntPtr = FindWindowEx(Hauptfenster, IntPtr.Zero, "WindowsForms10.BUTTON.app.0.2bf8098_r13_ad1", "Beenden")
//Setzen SendMessage(ObereTextBox, WM_SETTEXT, 0, "neuer Text für obere TextBox") SendMessage(UntereTextBox, WM_SETTEXT, 0, "neuer Text für untere TextBox")
Hey hätte mal eine Frage,
wie bekomme ich aus Spielen bestimmte Textboxen oder wie kann ich einfach nur eine bestimmte taste an das Spiel senden ohne es auf haben zu müssen? Müsste doch eig möglich sein mit der SendMessage Methode? Nur ich glaube das "SETTEXT" hindert mich daran weil er ja nix ersetzen soll sondern einfach nur die bestimmte taste senden soll Wäre echt super wenn du mit helfen könntest.
Das kommt auf das Spiel an, wird mit DirectX / OpenGL gearbeitet und es werden nicht die Standard Windows Controls genutzt kannst du das direkt vergessen. Dann musst du die TextBox erstmal anklicken und dann SendMessage nutzen.
Hey hätte mal eine Frage,
wie bekomme ich aus Spielen bestimmte Textboxen oder wie kann ich einfach nur eine bestimmte taste an das Spiel senden ohne es auf haben zu müssen? Müsste doch eig möglich sein mit der SendMessage Methode? Nur ich glaube das "SETTEXT" hindert mich daran weil er ja nix ersetzen soll sondern einfach nur die bestimmte taste senden soll Wäre echt super wenn du mit helfen könntest.
PS: Es handelt sich um Nostale.
LG
Habe leider kein Nostale auf dem Rechner, nur Tera (welches auch von GameForge ist). Also die verschiedenen Textboxen und Buttons usw denke ich wirst du mit dieser Methode eher nicht finden. Jedoch habe ich kurz mal versucht, den Chat (durch die Enter Taste) zu öffnen, eine Nachricht zu schreiben und diese dann abzuschicken. Hat ohne Probleme funktioniert. Dazu habe ich jedoch nicht WM_SETTEXT benutzt, da ich dazu die Textbox für den Chat bräuchte (was ich jedoch nicht finden kann da es sich um ein Spiel handelt) sondern WM_KEYDOWN/UP & WM_CHAR:
PHP Code:
Const WM_KEYDOWN As Integer = &H100
Const WM_KEYUP As Integer = &H101
Const WM_CHAR As Integer = &H102
PHP Code:
//Hauptfenster vom Spiel finden
Dim TeraClient As IntPtr = FindWindow("LaunchUnrealUWindowsClient", "TERA")
//Enter drücken um den Chat zu öffnen
SendMessage(TeraClient, WM_KEYDOWN, Keys.Enter, 0)
SendMessage(TeraClient, WM_KEYUP, Keys.Enter, 0)
//nicht unbedingt notwendig, aber wenn ich es weglasse
//passiert es abundzu, dass die Nachricht nicht ins Chatfenster eingefügt wird
Threading.Thread.Sleep(50)
//deine Nachricht
Dim nachricht As String = "hallo"
//alle Zeichen durchgehen und senden
For Each c As Char in nachricht
SendMessage(TeraClient, WM_CHAR, Asc(c), 0)
//hier könnte man evtl. auch Sleep einbauen, falls nicht alle Zeichen abgesendet werden
Next
//wieder nicht unbedingt notwendig, aber klappt zumindest bei mir so immer
Threading.Thread.Sleep(50)
//Enter drücken um die Nachricht abzuschicken
SendMessage(TeraClient, WM_KEYDOWN, Keys.Enter, 0)
SendMessage(TeraClient, WM_KEYUP, Keys.Enter, 0)
Ob es eine elegantere Lösung statt WM_CHAR gibt weiß ich nicht, weil ich das mal schnell in 5min getestet habe und es hat wie gesagt ohne Probleme funktioniert. Ob du damit nun auch dein Inventar öffnen kannst (z.B. mit der I Taste) oder deinen Char nach vorne bewegen kannst mit W usw musst du einfach mal testen.
C# - SendMessage/PostMessage 12/21/2013 - CO2 Programming - 3 Replies Hello, I have recently started to toy around with the idea of sending a mouse click, or other events, to a conquer client that is minimized, or just not in focus. I have been using Spy++ to help along in all the messages the client receives and what not. I have got it kind of working and was wondering if anyone here could give me a hand.
//WM_PARENTNOTIFY-SendMessage-ParentWindow
bool seven = MouseClickHandler.SendMessage(new IntPtr(0x004F04CA), (int)0x0210, new IntPtr(0x00000201), new...
SRO SendMessage API 02/26/2012 - SRO Coding Corner - 5 Replies Hello.
I want make simple clicker on vSRO.
but I can't do so would only click on SRO
I know I need to use SendMessage API but I do not know how to do it
Can someone show me it on this code:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Start()
C++ SendMessage Problem 08/02/2010 - C/C++ - 1 Replies Also ich versuche gerade in C++ einen kleinen Spammer zu programmieren habe aber leider ein Problem.
Mein Code:
#include <iostream>
#include <windows.h>
#include <string>
using namespace std;
[Help] C# SendMessage() 05/11/2010 - CO2 Programming - 19 Replies I'm currenty trying to use the SendMessage Function with CO. According to msdn I need to use this:
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
My question is: How do I find the hWnd? What are the wParam and lParam? And what can I use as wParam and lParam? Any help will be greatly appreciated.
sendmessage? 12/26/2008 - CO2 Programming - 0 Replies just wondering how it works in C# tried few tutorials with notepad in it and it doesnt send the letters/close it even it finds the window this is how i got it so far (pretty much copypasted, just to see how it works...)
private static extern IntPtr FindWindow(string winClass, string WinName);
private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
private static extern IntPtr PostMessage(IntPtr hWnd,...