|
You last visited: Today at 05:12
Advertisement
[c++]postmessage problem
Discussion on [c++]postmessage problem within the C/C++ forum part of the Coders Den category.
06/30/2010, 11:52
|
#1
|
elite*gold: 20
Join Date: Apr 2010
Posts: 51
Received Thanks: 29
|
[c++]postmessage problem
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
Code:
#include <iostream>
#include <windows.h>
#include <stdio.h>
using namespace std;
int main(){
cout<<"Willkommen"<<endl;
cout<<"Nostale Bot"<<endl;
cout<<"Um den Bot zu Starten druecken Sie: 1"<<endl;
cout<<"Um den Bot zu Beenden druecken Sie: 2"<<endl;
cout<<""<<endl;
cout<<""<<endl;
while (true){
int i;
cin >> i;
if (i == 1){
cout<<"Der Bot wurde gestartet"<<endl;
SetConsoleTitle("NosBot");
HWND hWin = FindWindow(NULL, "Nostale");
SetForegroundWindow(hWin);
while(true){
[COLOR="Red"]PostMessage(hWin, WM_KEYDOWN, 0x52, 0);
Sleep(10000);[/COLOR]
cin>>i;
if (i==2){
break;
}
}
system("Cls");
cout<<"Willkommen"<<endl;
cout<<"Nostale Bot"<<endl;
cout<<"Um den Bot zu Starten druecken Sie: 1"<<endl;
cout<<"Um den Bot zu Beenden druecken Sie: 2"<<endl;
cout<<""<<endl;
cout<<""<<endl;
}
else if (i == 2){
cout<<"Der Bot wurde noch nicht gestartet";
getchar();
getchar();
system("cls");
cout<<"Willkommen"<<endl;
cout<<"Nostale Bot"<<endl;
cout<<"Um den Bot zu Starten druecken Sie: 1"<<endl;
cout<<"Um den Bot zu Beenden druecken Sie: 2"<<endl;
cout<<""<<endl;
cout<<""<<endl;
}
}
getchar();
}
ich weis es ist nicht grade das beste so einen bot zu machen aber ich kan noch nicht winapis programieren wen jemand dafür ein gutes tutorial auf deutsch kent dan immer her damit
also ich bekom da keiunen tastendruck simuliert
es müste da ja r gedrückt werden
aber der macht nichts
bitte um hilfe
MFG djleitno22
|
|
|
07/01/2010, 00:50
|
#2
|
elite*gold: 0
Join Date: Apr 2008
Posts: 495
Received Thanks: 817
|
Eigentlich müsstest du doch nocheinen Error bekommen, und zwar,
"Konvertierung des Parameters 1 von 'const char [3]' in 'LPCWSTR' nicht möglich".
Weil richtig müsste es so lauten
Code:
static const TCHAR* myConsoleTitle = TEXT("TestTitle");
SetConsoleTitle(myConsoleTitle);
Zu deinem PostMessage Fehler kann ich leider nichts sagen, da ich mich damit noch nicht so richtig beschäftigt habe.
MFG
|
|
|
07/01/2010, 10:45
|
#3
|
elite*gold: 0
Join Date: Apr 2008
Posts: 495
Received Thanks: 817
|
Aber du weißt schon, dass das Spam ist ne? 
Und wenn du den SourceCode kompilieren will, bekommt man 2 Fehlermeldungen.
Code:
1>c:\dokumente und einstellungen\****\eigene dateien\visual studio 2010\projects\testwe\testwe\main.cpp(27): error C2664: 'SetConsoleTitleW': Konvertierung des Parameters 1 von 'const char [7]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>c:\dokumente und einstellungen\****\eigene dateien\visual studio 2010\projects\testwe\testwe\main.cpp(28): error C2664: 'FindWindowW': Konvertierung des Parameters 2 von 'const char [8]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
MFG
|
|
|
07/01/2010, 13:49
|
#4
|
elite*gold: 100
Join Date: Oct 2007
Posts: 738
Received Thanks: 485
|
phrenesis hast wie immer recht^^
Nur sollte es nicht
PostMessage(hWin, WM_KEYDOWN, 0x52, ((MapVirtualKey(0x52) << 16) | 1));
heißen?
|
|
|
07/01/2010, 17:36
|
#5
|
elite*gold: 0
Join Date: Jul 2010
Posts: 192
Received Thanks: 298
|
PostMessage() funktioniert vermutlich bei den meisten Spielen nicht. Du könntest stattdessen kbd_event() verwenden.
Allerdings kannst du auch das vergessen, wenn das Spiel DirectInput verwendet. Dann bräuchtest du einen DirectInput Hook.
|
|
|
07/01/2010, 17:36
|
#6
|
elite*gold: 0
Join Date: Apr 2008
Posts: 495
Received Thanks: 817
|
Quote:
Originally Posted by phrenesis
Du Blödmann. Erzähl hier kein Schwachsinn! Im Moment spammst du hier den ganzen Thread voll. Die Frage bezieht sich doch eindeutig auf sein Problem mit Postmessage. Aber auf welche Frage dein Post eine Antwort geben soll, kann ich leider nicht nachvollziehen.
Und irgendwelche Error-Meldungen vom Compiler und Lösungen für diese, die du wahrscheinlich erst gar nicht verstehst und irgendwo aufgeschnappt hast, brauchst du hier nicht zu posten. Hat ja recht wenig mit seiner Frage zu tun, nicht?
|
Ich hätte mit dir wetten können, dass zu 90% ein nächster Thread aufgemacht wurden wäre, von dem Threadersteller, wo diese Fehlermeldung drin steht. Ich hab mich nicht auf seine Frage bezogen, da hast du recht, aber trotzdem ist mir dieser Fehler aufgefallen und wollte so einen neuen Thread ersparen.
Ob ich Ahnung habe, oder nicht, kannst DU überhaupt nicht sagen, da du mich gar nicht kennst, worüber ich froh bin.
Ich bin zwar kein Experte was C++ angeht, aber solche Sachen verstehe ich.
Und was du über mich denkst, ist mir völlig egal, wir können diese Sachen gerne über PN klären, da wir beide gerade Spamen.
MFG
|
|
|
07/02/2010, 15:38
|
#7
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
Quote:
Originally Posted by phrenesis
PostMessage(hWin, WM_KEYDOWN, 0, (UINT)(MapVirtualKey(0x52, MAPVK_VK_TO_VSC) << 16));
Und WM_KEYUP nicht vergessen.
|
ja das weiss ich zwar auch mittlerweile auch, aber kann mir mal einer erklären warum man MapVirtualKey aufruben muss und warum << 16?
|
|
|
07/03/2010, 11:14
|
#8
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
SetConsoleTitle(L"DeinTitel");
|
|
|
 |
Similar Threads
|
PostMessage UDF
06/27/2017 - AutoIt - 48 Replies
Benötigt wird mindestens AutoIt v3.3.8.1.
Die UDF beinhaltet 9 Funktionen:
_PostMessage_Send($hWnd, $Key, $Delay = 10)
_PostMessage_SendDown($hWnd, $Key, $Delay = 10)
_PostMessage_SendUp($hWnd, $Key, $Delay = 10)
_PostMessage_Click($hWnd, $X = -1, $Y = -1, $Button = "left", $Clicks = 1, $Delay = 10)
_PostMessage_ClickDown($hWnd, $X = -1, $Y = -1, $Button = "left")
_PostMessage_ClickUp($hWnd, $X = -1, $Y = -1, $Button = "left")
_PostMessage_ClickDrag($hWnd, $X1, $Y1, $X2, $Y2, $Button...
|
PostMessage und Memory auslesen in C++
12/19/2009 - C/C++ - 13 Replies
Heyho,
ich versuche im moment mit DevC++ ein Programm zu programmieren, was mir die Flaggenanzahl von Minesweeper ausgibt. Allerdings kriege ich immer den error, dass es der falsche Datentyp sei.
ich hab auf dem pc gerad kein DevC++, weshalb ich das Problem net genauer beschreiben kann.
int *pointer;
pointer = 0xF745879 //irgendeine Speicheradresse
cout << *pointer << endl;
Irgendwie so war der code^^
€dit: Die Speicheradresse war ne normale integer-Adresse (also 4-Byte).
Aber, wie...
|
All times are GMT +1. The time now is 05:13.
|
|