|
You last visited: Today at 01:38
Advertisement
SendMessage Tutorial
Discussion on SendMessage Tutorial within the Coding Tutorials forum part of the General Coding category.
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
|
|
|
01/05/2014, 19:33
|
#62
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Quote:
Originally Posted by BendiStyle
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
|
|
|
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.
|
|
|
01/22/2014, 22:32
|
#64
|
elite*gold: 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.
|
|
|
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.
|
|
|
01/24/2014, 20:20
|
#66
|
elite*gold: 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.
|
|
|
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
|
|
|
02/06/2014, 20:18
|
#68
|
elite*gold: 0
Join Date: Jul 2013
Posts: 5
Received Thanks: 0
|
Wollte mich mal wieder in Erinnerung bringen.
|
|
|
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
|
|
|
07/21/2014, 19:30
|
#70
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Quote:
Originally Posted by sterat
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(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")
//Auslesen MessageBox.Show(GetText(ObereTextBox)) MessageBox.Show(GetText(UntereTextBox))
//Setzen SendMessage(ObereTextBox, WM_SETTEXT, 0, "neuer Text für obere TextBox") SendMessage(UntereTextBox, WM_SETTEXT, 0, "neuer Text für untere TextBox")
//Button drücken SendMessage(BeendenButton, BM_Click, 0, 0)
Bei mir funktioniert es damit völlig ohne Probleme.
|
|
|
07/27/2015, 22:03
|
#71
|
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
|
|
|
07/27/2015, 23:55
|
#72
|
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.
|
|
|
10/04/2015, 23:23
|
#73
|
elite*gold: 0
Join Date: Oct 2015
Posts: 1
Received Thanks: 0
|
Sehr gutes Tutorial.
|
|
|
11/09/2015, 13:17
|
#74
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Quote:
Originally Posted by DexXxo
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.
Quote:
Originally Posted by LauniSoft
Sehr gutes Tutorial. 
|
Danke
|
|
|
 |
|
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.
|
|