lern doch erstmal die grundlagen von c++ oO das was da an code steht zeugt eindeutig davon das du net mal in ansätzen verstanden hast wie man mit c++ Programmiert :S und mit C&P wirst du das niemals lernen lass dir das gesagt sein ich mein in der schule lernste au nix wennde nur abschreibst ....
programmier doch einfach wie alle andern auch erstmal nen Taschenrechner oder was weiß ich da gibts genug tutorials die einem den einstieg ermöglichen! gleich mit sowas anzufangen is schwachsinn... in der schule fängste auch erstmal mit + und - an und net gleich mit Integral rechnung.ohne die nötigen grundlagen wirste niemals weiterkommen.
und ja das is am Anfang vlt mühselig aber du wirst schnell merken das du da wesentlich schneller zum Ziel kommst als wenn du versuchst kurz vorm Ziel anzufangen und jemand der sich mit msdn und google net zu helfen weiß is eindeutig noch net soweit nen Bot zu schreiben ganz davon zu schweigen das man ohne ausreichende englisch kentnisse sowieso aufgeschmissen ist
Ja, kann sein dass du da Recht hast, das hat mir Sm!th auch schon gesagt,
aber ich sags mal so, hab jetzt vor 2 Tagen mal AutoIt gedownloaded und
jetzt kann ich schon problemlos nen gw bot schreiben.
Ich würds halt einfach gern wissen, wies geht in C++.
1. warum nicht GWCA nutzen ? wie man window messages sendet weißte ja hoffentlich
2. google is your friend
3. msdn is your friend too
4. auch wenn du in Autoit nen bot schreiben kannst kann man ohne c++ grundlagen nicht gleich damit anfangen nen c++ bot zu schreiben. und für die grundlagen brauchste wennde wirklich interessiert bist 1-2 tage zumindest wenn man schonmal die grundlagen des Programmieren kennt. ich mein msdn zu verstehen is jetz nich so schwehr notfalls tippste den Befehl mal bei google oder codeproject ein und schaust dir nen paar samples an
€: und ich mein wennde in autoit nen bot schaffst sollte dir zumindest schonmal aufgefallen sein das man ne Funktion auch aufrufen muss wen man se benutzen will
Der Compiler meckert deswegen, weil ich die WinMain habr
Quote:
Weil wenn ich das mache meckert der Compiler wegen:
"nicht aufgelöstes externes Symbol "_main" in Funktion "_tmainCRTStartup".
und
"nicht aufgelöste externe Verweise".
Aber beim 1. mal hab ich den Code nicht einfach nur eingefügt,
sondern noch ne main Funktion reingemacht, das brauch doch jedes C++ Programm oder?
Bist du echt so unfähig mitzudenken?
Klar braucht das jedes Programm, nur weil mein Projekt als Win32 Projekt eingestellt war, ist es eben die WinMain.
Du musst nur die Funktion in int main() umbennen und C&Pn.
Fertig.
Deshalb ist auch dein Source totaler ****. Die Funktion WinMain wird ja bei dir gar nicht aufgerufen (oder bist du nichtmal so weit in den Grundlagen?)
btw.
@73rm:
weißt du, welche Funktion der WinApi aufgerufen wird, wenn man in Autoit ControlSend nutzt?
Ich denke mal es ist PostMessage aber irgendwie will es damit bei mir auch nicht gehen (und das liegt nicht an GW, auch bei Notepad klappts nicht)
Oh cool, super jetzt klappts
Eine Frage noch, ein Tastendruck besteht ja logischer Weise aus Drücken + Loslassen.
Nur wie mach ich es, dass mein Programm w wieder loslässt?
was möchest du denn?
w wird doch sofort wieder losgelassen.
Bei Shift hält er bei mir auch einfach gedrückt und ich kriegs nicht hin, aber das hat etwas andere Gründe, nämlich dass scheinbar etwas nicht geht.
Wenn du richtig gelesen hättest, wüsstest du, dass INPUT::ki.dwExtraInfo mit dem Flag KEYEVENTF_KEYUP belegt werden kann und ich denke, das sagt alles oder?
Allerdings gehts bei mir trotzdem nicht, selbst nachdem mein Programm durchgelaufen ist, wird Shift gedrückt gehalten, bis ich Shift drücke (super jetzt wird Foos Problem zu meinem -.-")
code:
PHP Code:
int WINAPI WinMain(HINSTANCE hi,HINSTANCE hPrev,LPSTR Cmdline,int nShowCmd) { INPUT input; input.type = INPUT_KEYBOARD; input.ki.wVk =VK_SHIFT; input.ki.wScan = MapVirtualKey(VK_SHIFT,0); input.ki.dwFlags = 0; input.ki.time = 0; input.ki.dwExtraInfo = 0; //oder eben KEYEVENTF_KEYUP SendInput(1,&input,sizeof(input)); /*Hier habe ich probiert, nochmal SendInput zu senden (ich weiß, hätte es geklappt, wäre "W" wieder zu "w" geworden, aber ich wollte erstmal testen, wie ich das Shift wieder wegbekommen) -> klappte nicht; ich habs auch mit input.ki.dwExtraInfo = KEYEVENTF_KEYUP; probiert -> klappte nicht */
/* Hier habe ich auch schon probiert, es mit dem Flag KEYEVENTF_KEYUP zu belgen -> klappte nicht : */ input.ki.wVk =VK_SHIFT; //input.ki.dwExtraInfo = KEYEVENTF_KEYUP; input.ki.wScan = MapVirtualKey(VK_SHIFT,0); SendInput(1,&input,sizeof(input)); return 0; }
@73:
Aber ich habe irgendwas von PostMessage gelesen....
Und vor allem:
Selbst wenn es duch attachen gelöst ist; das erklärt, warum es mit PostMessage bei Games nicht geh (falls diese direkten Input nutzen) aber nicht, warum es bei so einfachen Dingen wie Notepad nicht geht.
Es wird doch wohl noch irgendein Programm geben, dass Tastendrücke per Message annimmt...
wenn man se richtig sendet geht das auch jedenfalls bei mir kp was du da gesendet hast
joa gibste mal bitte den source
Ich frage selten nach sowas, das heißt schon was.
Lässt du LPARAM auch bei NULL?
Ich habe alles probiert, NULL, durch MAKEWORD usw. ihn so hinzubiegen, dass an der richtigen Stelle der Scancode ist...
Nix hat geklappt
btw. hast du auch ne Lösung fürs Shiftgedrückthalten?
einfach ans MainWindow senden bringt dir nix du brauchst schon die Editbox
oooohhh Editbox
Das wars^^
WM_CHAR nimmst du einfach nur, weil es besser dafür geeignet ist oder?
Es würde auch mit WM_KEYDOWN gehen?!
edit: Ne geht bei mir nur mit WM_CHAR
btw. warum geht das dann so nicht bei GW (sagt Foo; ich habs noch nicht mit nem Game getestet^^)
Ach ja, woher weiß man die ID der Editbox?
edit:
Ok, mit Spy++ findet man sie^^
Aber Spy++ ist ja nur in der Pro Version von VS, wie machen das denn dann unsere netten Express User Freunde wie Foofightah?
p.s. Die Lösung für mein Shift Problem kenne ich immer noch nicht
@Foo:
Code:
SendMessage(hWnd,WM_CHAR,'w',NULL);
Geht übrigens!
Wenn du in den Chat klickst und eine taste drückst, wird sofort w gespammt.
Nur eben nicht beim Laufen.
Wow, so viel gelesen jetz
Ok, also WM_CHAR ist das selbe wie WM_KEYDOWN?
Und warum war mein Code mit SendMessage dann viel länger als Terminators?
Naja, wayne auch^^
Habs mit KEYEVENTF_KEYUP versucht, aber jetzt fängt er nicht mal mehr an zu laufen QQ
PHP Code:
#include <windows.h>
#include <iostream>
int main(HINSTANCE hi,HINSTANCE hPrev,LPSTR Cmdline,int nShowCmd)
{
HWND GW = NULL;
do
{
GW = FindWindow(NULL,L"Guild Wars");
Sleep(100);
} while(!GW);
SetForegroundWindow(GW);
INPUT input;
input.type = INPUT_KEYBOARD;
input.ki.wVk =0x57; //"W" falls es nicht geht 0x77 für "w"
input.ki.dwFlags = 0;
input.ki.time = 0;
input.ki.wScan = MapVirtualKey(0x57,0); // s.o.
input.ki.dwExtraInfo = 0;
SendInput(1,&input,sizeof(input));
Sleep(3000);
input.ki.dwExtraInfo = KEYEVENTF_KEYUP;
SendInput(1,&input,sizeof(input));
return 0;
}
Btw: Warum klappt SetForegroundWindow nicht bei mir?
Metin 2 Pserver Problem/ Lösung für das Matrix Kartennummer Problem 01/04/2010 - Metin2 Private Server - 3 Replies Hy Leute
Wie in der Überschrift genannt, hab ich gerade ein Problem mit meinem Metin 2Server.
Ich lasse ihn via Loopbackadapter laufen, funktioniert auch ganz gut.
Ich hab aber jetzt das Poblem, das in meinem Account nur noch Krieger mit Level null stehen.
Wie kann ich das Beheben??, das is auch manchmal da, wenn ich via Navicat n neuen Account mach. Hoffe einer hatt ne Lösung
Hab n Screenshot im Anhang
Aber ich hab ja auch ne Lösung für n anderes Problem.
Gestern hatte ich beim...
[Problem] Problem with server starting - cannot find quest index for PaxHeader 12/22/2009 - Metin2 Private Server - 1 Replies Hello!
I have this same problem as here when i'm starting my server:
http://www.elitepvpers.com/forum/metin2-pserver-di scussions-questions/307143-metin2-serverfiles-ques t-index-fehler.html
But I didn't know the answer.. how to repair this?
Greetings