Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 01:38

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

Advertisement



SendMessage Tutorial

Discussion on SendMessage Tutorial within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old 01/05/2014, 18:18   #61
 
elite*gold: 200
Join Date: Oct 2013
Posts: 108
Received Thanks: 16
Danke Kraizy ich wurd jetzt eben erst drauf hingewiesen das es eine antwort im diesen thema gibt o:

Trotzdem viel dank

Edit:
Funktioniert einwandfrei ich weis nicht was der eine Typ da hat
BendiStyle is offline  
Old 01/05/2014, 19:33   #62
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Quote:
Originally Posted by BendiStyle View Post
Danke Kraizy ich wurd jetzt eben erst drauf hingewiesen das es eine antwort im diesen thema gibt o:

Trotzdem viel dank

Edit:
Funktioniert einwandfrei ich weis nicht was der eine Typ da hat
Kein Problem
Kraizy​ is offline  
Old 01/22/2014, 20:35   #63
 
elite*gold: 0
Join Date: Jul 2013
Posts: 5
Received Thanks: 0
Textboxen

Hallo,

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.
sterat is offline  
Old 01/22/2014, 22:32   #64
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
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.
Kraizy​ is offline  
Old 01/24/2014, 19:01   #65
 
elite*gold: 0
Join Date: Jul 2013
Posts: 5
Received Thanks: 0
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.
sterat is offline  
Old 01/24/2014, 20:20   #66
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Sry versteh dein Problem nicht wirklich. Am besten erklärst dus nochmal ausführlich, vllt auch mit nem Bild oder so.
Kraizy​ is offline  
Old 02/03/2014, 19:59   #67
 
elite*gold: 0
Join Date: Jul 2013
Posts: 5
Received Thanks: 0
Hallo Kraizy,

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.

Beste Grüße
sterat is offline  
Old 02/06/2014, 20:18   #68
 
elite*gold: 0
Join Date: Jul 2013
Posts: 5
Received Thanks: 0
Smile

Wollte mich mal wieder in Erinnerung bringen.
sterat is offline  
Old 02/13/2014, 18:45   #69
 
elite*gold: 0
Join Date: Jul 2013
Posts: 5
Received Thanks: 0
Hallo Kraizy,

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
sterat is offline  
Old 07/21/2014, 19:30   #70
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Quote:
Originally Posted by sterat View Post
Hallo Kraizy,

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(HauptfensterIntPtr.Zero"WindowsForms10.EDIT.app.0.2bf8098_r13_ad1"Nothing)
Dim ObereTextBox As IntPtr FindWindowEx(HauptfensterUntereTextBox"WindowsForms10.EDIT.app.0.2bf8098_r13_ad1"Nothing)
Dim BeendenButton As IntPtr FindWindowEx(HauptfensterIntPtr.Zero"WindowsForms10.BUTTON.app.0.2bf8098_r13_ad1""Beenden")

//Auslesen
MessageBox.Show(GetText(ObereTextBox))
MessageBox.Show(GetText(UntereTextBox))

//Setzen
SendMessage(ObereTextBoxWM_SETTEXT0"neuer Text für obere TextBox")
SendMessage(UntereTextBoxWM_SETTEXT0"neuer Text für untere TextBox")

//Button drücken
SendMessage(BeendenButtonBM_Click00
Bei mir funktioniert es damit völlig ohne Probleme.
Kraizy​ is offline  
Thanks
1 User
Old 07/27/2015, 22:03   #71
 
DexXxo's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 228
Received Thanks: 6
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
DexXxo is offline  
Old 07/27/2015, 23:55   #72
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
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.
alpines is offline  
Old 10/04/2015, 23:23   #73
 
elite*gold: 0
Join Date: Oct 2015
Posts: 1
Received Thanks: 0
Sehr gutes Tutorial.
LauniSoft is offline  
Old 11/09/2015, 13:17   #74
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Quote:
Originally Posted by DexXxo View Post
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(TeraClientWM_KEYDOWNKeys.Enter0)
SendMessage(TeraClientWM_KEYUPKeys.Enter0)

//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
(TeraClientWM_CHARAsc(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(TeraClientWM_KEYDOWNKeys.Enter0)
SendMessage(TeraClientWM_KEYUPKeys.Enter0
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.

Quote:
Originally Posted by LauniSoft View Post
Sehr gutes Tutorial.
Danke
Kraizy​ is offline  
Reply


Similar Threads Similar Threads
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,...



All times are GMT +2. The time now is 01:39.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

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