Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 18:59

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

Advertisement



FindWindow parameter richtig nutzen...

Discussion on FindWindow parameter richtig nutzen... within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Eiscremekugel's Avatar
 
elite*gold: 0
Join Date: Feb 2007
Posts: 2,666
Received Thanks: 754
FindWindow parameter richtig nutzen...

HWND *** = FindWindow(NULL ,"***");

ShowWindow(***, SW_RESTORE);


FindWindowW': Konvertierung des Parameters 2 von 'const char [10]' in 'LPCWSTR' nicht möglich

<<
Diese meldung beim compilen

was mach ich falsch wie schreib ich den parameter richtig`?
kurze erklärung oder denkanstoss währe net..

habe jede denkliche Konvertierung probiert jedoch vergeblich immer bekomm ich diesen fehler


Quote:
HWND WINAPI FindWindow(
__in_opt LPCTSTR lpClassName,
__in_opt LPCTSTR lpWindowName
);
msdn auszug .... laut msdn ist der para doch richtig oder binsch doof >.<
Eiscremekugel is offline  
Old 06/14/2010, 14:18   #2
 
P-a-i-n's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
versuch es doch mal so ^^

Code:
#include <windows.h>
#include <iostream>
using namespace std;

int main()
{ 
   HWND hwnd; 
   hwnd = FindWindow(NULL, "Dein fenstername");      
   if(hwnd)                      
   {
      cout<<"wurde gefunden!\n";
   }
   else
   {
      cout<<"wurde nicht gefunden!\n";
   }
   return 0;
}

dürfte ja jetzt klar sein wie du es verwendest
P-a-i-n is offline  
Thanks
2 Users
Old 06/14/2010, 15:09   #3
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
Quote:
Originally Posted by Eiscremekugel View Post
HWND *** = FindWindow(NULL ,"***");

ShowWindow(***, SW_RESTORE);


FindWindowW': Konvertierung des Parameters 2 von 'const char [10]' in 'LPCWSTR' nicht möglich

<<
Diese meldung beim compilen

was mach ich falsch wie schreib ich den parameter richtig`?
kurze erklärung oder denkanstoss währe net..

habe jede denkliche Konvertierung probiert jedoch vergeblich immer bekomm ich diesen fehler



msdn auszug .... laut msdn ist der para doch richtig oder binsch doof >.<

schreibe statt "***" L"***" mit einem L davor
oder mimm statt FindWindow, FindWindowA mit einem A danach


dein problem ist, das FindWindow nomelerweise für FindWindowW steht das w steht für wchar_t also für 2-byte zeichen(unicode), wennn nu nochmele char also 1.Byte zeichen willst musst du FindWindowA nehmen, oder man macht von den string ein L dann ist es ein wchar_t* typ


LPCWSTR = wchar_t*
LPCSTR = char*
nkkk is offline  
Thanks
2 Users
Old 06/14/2010, 16:00   #4
 
Eiscremekugel's Avatar
 
elite*gold: 0
Join Date: Feb 2007
Posts: 2,666
Received Thanks: 754
Quote:
Originally Posted by nkkk View Post
schreibe statt "***" L"***" mit einem L davor
oder mimm statt FindWindow, FindWindowA mit einem A danach


dein problem ist, das FindWindow nomelerweise für FindWindowW steht das w steht für wchar_t also für 2-byte zeichen(unicode), wennn nu nochmele char also 1.Byte zeichen willst musst du FindWindowA nehmen, oder man macht von den string ein L dann ist es ein wchar_t* typ


LPCWSTR = wchar_t*
LPCSTR = char*
genau das wollte ich wissen
danke

werde es gleich mal testen und dann rein editen obs geklappt hat

EDIT:

mit oben genannter methode...

kleine frage falls keybd_event nicht funzt ... welche alternativ habe ich?...
Und jetzt nicht key.sends :P

denn jetzt hat mein window zwar focus wie ich es wollte nur ... es nimmt die tastensimulation nicht an...
Eiscremekugel is offline  
Old 06/14/2010, 21:43   #5


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,408
Quote:
Originally Posted by nkkk View Post
schreibe statt "XXX" L"XXX" mit einem L davor
oder mimm statt FindWindow, FindWindowA mit einem A danach


dein problem ist, das FindWindow nomelerweise für FindWindowW steht das w steht für wchar_t also für 2-byte zeichen(unicode), wennn nu nochmele char also 1.Byte zeichen willst musst du FindWindowA nehmen, oder man macht von den string ein L dann ist es ein wchar_t* typ


LPCWSTR = wchar_t*
LPCSTR = char*
dazu noch:

du hast es in der MSDN schon richtig gesehen; da steht LPCTSTR
das T bedeutet, dass je nach projekt entschieden wird, was genutzt wird (und sollte daher auch konsequent genutzt werden)

du kannst also entweder
Code:
#undef UNICODE
schreiben, damit LPCTSTR für LPCSTR steht oder du stellst dein Projekt auf den ASCII Zeichensatz um.
Nebenbei würde es dann natürlich besser passen, wenn man nicht L vor den String schreibt, sondern das _T() Makro nutzt, dann hat man auch wieder in jedem Falle das richtige!
Quote:
Originally Posted by Eiscremekugel View Post
genau das wollte ich wissen
danke

werde es gleich mal testen und dann rein editen obs geklappt hat

EDIT:

mit oben genannter methode...

kleine frage falls keybd_event nicht funzt ... welche alternativ habe ich?...
Und jetzt nicht key.sends :P

denn jetzt hat mein window zwar focus wie ich es wollte nur ... es nimmt die tastensimulation nicht an...
Nutzt du keybd_event auch richtig?
Es gibt viele, die meinen, sie müssten dort einfach nur "w" reinschrieben und der Tastendruck w wird gesendet; dem ist aber nicht so.
Sollte etwas in der MSDN zu stehen.

Ansonsten nutz mal SendInput; falls das auch nicht klappt, ist das Spiel vielleicht gegen sowas geschützt?
MrSm!th is offline  
Thanks
1 User
Old 06/14/2010, 23:02   #6
 
Eiscremekugel's Avatar
 
elite*gold: 0
Join Date: Feb 2007
Posts: 2,666
Received Thanks: 754
Quote:
Originally Posted by MrSm!th View Post
dazu noch:

du hast es in der MSDN schon richtig gesehen; da steht LPCTSTR
das T bedeutet, dass je nach projekt entschieden wird, was genutzt wird (und sollte daher auch konsequent genutzt werden)

du kannst also entweder
Code:
#undef UNICODE
schreiben, damit LPCTSTR für LPCSTR steht oder du stellst dein Projekt auf den ASCII Zeichensatz um.
Nebenbei würde es dann natürlich besser passen, wenn man nicht L vor den String schreibt, sondern das _T() Makro nutzt, dann hat man auch wieder in jedem Falle das richtige!


Nutzt du keybd_event auch richtig?
Es gibt viele, die meinen, sie müssten dort einfach nur "w" reinschrieben und der Tastendruck w wird gesendet; dem ist aber nicht so.
Sollte etwas in der MSDN zu stehen.

Ansonsten nutz mal SendInput; falls das auch nicht klappt, ist das Spiel vielleicht gegen sowas geschützt?
naja ich glaube nicht das es direkt ein schutzt ist bei manchen funzt es halt nur mit directinput...

benutzt habe ich es schon richtig denke ich mal ist ja kein c&p alles nach msdn..
es drückt auch alles schön bei notepad nur ingame nicht...

was ist wenn ich es evtl in ne dll packe und direkt in den process injecte dann brauch ich ja kein fokus mehr richtig?`...

PHP Code:
            // Taste W drücken
    
keybd_event(0x5700NULL);
        
// Taste W Loslassen 
    
keybd_event(0x570KEYEVENTF_KEYUP0); 
    
Sleep(800); 
Ist mit der tabelle von msdn geschrieben....also die virtual keys

werde mir morgen mal sendinput genau anschaun und es evtl damit probiern...

PS:
vill noch wichtig das es eine directx anwendung ist...
wo ich beim thema bin hat sich jmd evtl mal mit window mode force via directx beschäftigt?
Eiscremekugel is offline  
Old 06/14/2010, 23:11   #7


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,408
Quote:
Originally Posted by Eiscremekugel View Post
naja ich glaube nicht das es direkt ein schutzt ist bei manchen funzt es halt nur mit directinput...

benutzt habe ich es schon richtig denke ich mal ist ja kein c&p alles nach msdn..
es drückt auch alles schön bei notepad nur ingame nicht...

was ist wenn ich es evtl in ne dll packe und direkt in den process injecte dann brauch ich ja kein fokus mehr richtig?`...

PHP Code:
            // Taste W drücken
    
keybd_event(0x5700NULL);
        
// Taste W Loslassen 
    
keybd_event(0x570KEYEVENTF_KEYUP0); 
    
Sleep(800); 
Ist mit der tabelle von msdn geschrieben....also die virtual keys

werde mir morgen mal sendinput genau anschaun und es evtl damit probiern...

PS:
vill noch wichtig das es eine directx anwendung ist...
wo ich beim thema bin hat sich jmd evtl mal mit window mode force via directx beschäftigt?
Doch, den Fokus brauchste trotzdem, wird ja weiterhin ans forderste Fenster gesendet.
Ich würde es mal testen, indem du auf das Fenster wechselt und zb. in den Chat klickst oder enter drückst oder wie auch immer das da geht und schauen, ob es dann in den Chat geschrieben wird.
Das Problem hatte ich nämlich auch mal.
Ansonsten, mit SendInput gehts also auchs so? Seltsam..
MrSm!th is offline  
Thanks
1 User
Old 06/15/2010, 00:08   #8
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
also bei mir hat code wie dieser immer funktioniert, is zwar C# ist aber dieselbe keybd_event funktion

PHP Code:
        #endregion
        
[DllImport("user32.dll"CharSet CharSet.Ansi)]
        public 
extern static void keybd_event(byte bVkbyte bScanint dwFlagsint _dwExtraInfo);
        
#endregion

        
public void BotMain() 
        {
            
System.Console.ReadLine();
            while (
true)
            {
                
Thread.Sleep(4000);
                
keybd_event(VK_F10,
                    
0x44,
                    
KEYEVENTF_EXTENDEDKEY 0,
                    
0);
                
Thread.Sleep(200);
                
keybd_event(VK_F10,
                    
0x44,
                    
KEYEVENTF_EXTENDEDKEY KEYEVENTF_KEYUP,
                    
0);
            }
        } 
ein einfacher Bot der immer F10 drückt^^.
hoffe euch eher weitergebracht als verwirrt zu haben.
nkkk is offline  
Thanks
1 User
Old 06/15/2010, 08:39   #9
 
Eiscremekugel's Avatar
 
elite*gold: 0
Join Date: Feb 2007
Posts: 2,666
Received Thanks: 754
Quote:
Originally Posted by MrSm!th View Post
Doch, den Fokus brauchste trotzdem, wird ja weiterhin ans forderste Fenster gesendet.
Ich würde es mal testen, indem du auf das Fenster wechselt und zb. in den Chat klickst oder enter drückst oder wie auch immer das da geht und schauen, ob es dann in den Chat geschrieben wird.
Das Problem hatte ich nämlich auch mal.
Ansonsten, mit SendInput gehts also auchs so? Seltsam..
Ah wieder was dazu gelernt danke ;D
Und ja der bot an sich läuft gut, schreibt schön in die notepad usw.
nur nich ingame
wie gesagt heute schau ich mir mal sendinput an

Ich denke mal das game nutzt die win api garnicht und nutzt stattdessen den directinput.... >.<
Wäre auch zueinfach gewesen einfach ein bot mit keybd_event - der funzt wäre zu schön

Quote:
Originally Posted by nkkk View Post
also bei mir hat code wie dieser immer funktioniert, is zwar C# ist aber dieselbe keybd_event funktion

PHP Code:
        #endregion
        
[DllImport("user32.dll"CharSet CharSet.Ansi)]
        public 
extern static void keybd_event(byte bVkbyte bScanint dwFlagsint _dwExtraInfo);
        
#endregion

        
public void BotMain() 
        {
            
System.Console.ReadLine();
            while (
true)
            {
                
Thread.Sleep(4000);
                
keybd_event(VK_F10,
                    
0x44,
                    
KEYEVENTF_EXTENDEDKEY 0,
                    
0);
                
Thread.Sleep(200);
                
keybd_event(VK_F10,
                    
0x44,
                    
KEYEVENTF_EXTENDEDKEY KEYEVENTF_KEYUP,
                    
0);
            }
        } 
ein einfacher Bot der immer F10 drückt^^.
hoffe euch eher weitergebracht als verwirrt zu haben.
danke c# bin ich grade am lernen nebenbei....
das ein gutes beispiel nur hast du darin garkein fokus gesetzt richtig?
Eiscremekugel is offline  
Old 06/15/2010, 10:38   #10
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
Quote:
Originally Posted by Eiscremekugel View Post
danke c# bin ich grade am lernen nebenbei....
das ein gutes beispiel nur hast du darin garkein fokus gesetzt richtig?
ne das ist der gesammte programmcode, des mini-bots^^ , is ja nur ein unterstützer, für während man spielt, damit ich nicht selber F10 drücken muss, es wird also davon ausgegangen, das das richtige fenster offen ist, manchmal ist es mir passiert das ich ausversehen ein anderes fenster eöffent habe, dann wurde F10 an dieses gesendet, hatte oft unerwartete folgen, aber mitttlerweile benutz ich den bot auch nichtmehr
nkkk is offline  
Thanks
1 User
Old 06/15/2010, 11:27   #11
 
Eiscremekugel's Avatar
 
elite*gold: 0
Join Date: Feb 2007
Posts: 2,666
Received Thanks: 754
Also werde jetzt die komplette struktur nochmal überarbeiten da ich mir nicht vorstellen kann ...
das es bei dennen über den directinput läuft...keine lust das zu hooken...

.
Ich gebe dann mal Feedback ob es evtl. mit SendInput geklappt hat...
Heute abend denke ich mal.

danke liebe epvp'ler gibt doch noch paar klugeköpfe hier, in den section in den ich momentan aktiv bin... haette in 5jahren niemand eine antwort für mich gehabt
Eiscremekugel is offline  
Old 06/15/2010, 14:27   #12
 
elite*gold: 0
Join Date: May 2008
Posts: 489
Received Thanks: 210
Quote:
Originally Posted by Eiscremekugel View Post
Also werde jetzt die komplette struktur nochmal überarbeiten da ich mir nicht vorstellen kann ...
das es bei dennen über den directinput läuft...keine lust das zu hooken...
Glauben und Vorstellen kannste inner Kirche, entweder es nutzt DInput oder nicht. Minimale Kenntnisse reichen aus um das herauszufinden.
schlurmann is offline  
Thanks
1 User
Old 06/15/2010, 20:32   #13


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,408
Quote:
Originally Posted by Eiscremekugel View Post
Ah wieder was dazu gelernt danke ;D
Und ja der bot an sich läuft gut, schreibt schön in die notepad usw.
nur nich ingame
wie gesagt heute schau ich mir mal sendinput an

Ich denke mal das game nutzt die win api garnicht und nutzt stattdessen den directinput.... >.<
Wäre auch zueinfach gewesen einfach ein bot mit keybd_event - der funzt wäre zu schön


danke c# bin ich grade am lernen nebenbei....
das ein gutes beispiel nur hast du darin garkein fokus gesetzt richtig?
Sagte ich ja, directinput.
Das wären dann aber keybd_event und SendInput
Soweit ich weiß, simuliert SendInput den DInput und geht nicht über Windows Messages.
Wie gesagt, schonmal in das Chatfenster geklickt, um zu sehen, ob es dann klappte?
MrSm!th is offline  
Thanks
1 User
Old 06/15/2010, 21:45   #14
 
Eiscremekugel's Avatar
 
elite*gold: 0
Join Date: Feb 2007
Posts: 2,666
Received Thanks: 754
Quote:
Originally Posted by schlurmann View Post
Glauben und Vorstellen kannste inner Kirche, entweder es nutzt DInput oder nicht. Minimale Kenntnisse reichen aus um das herauszufinden.
ja...aber momentan kann ich keinen debugger auf meinem homerechner laufen lassen ...
---> crash

hatte auch überlegt den afk bot vill komplett über interne funktionen zuschreiben jedoch nicht möglich da im mom nur olly aufbekomm in der weiterbildung..

muss erstmal mein win neu aufsetzen
Quote:
Originally Posted by MrSm!th View Post
Sagte ich ja, directinput.
Das wären dann aber keybd_event und SendInput
Soweit ich weiß, simuliert SendInput den DInput und geht nicht über Windows Messages.
Wie gesagt, schonmal in das Chatfenster geklickt, um zu sehen, ob es dann klappte?
Ja i know , hab mich vill bisschen unverständlich ausgedrückt
*** klappt auch nicht ...
Eiscremekugel is offline  
Old 06/15/2010, 22:30   #15
 
elite*gold: 0
Join Date: May 2008
Posts: 489
Received Thanks: 210
Quote:
Originally Posted by Eiscremekugel View Post
ja...aber momentan kann ich keinen debugger auf meinem homerechner laufen lassen ...
---> crash
Tools wie Dumpbin reichen vollkommen.
schlurmann is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
.bat-Dateien für verschiedene nutzen richtig (!) erstellen.
10/16/2010 - Metin2 Guides & Templates - 9 Replies
Schönen guten Tag. Da ich bereits unzählige Threads über das erstellen bzw. umgehen des Patchers etc.etc.etc gelesen habe,also will ich hier mal etwas klar stellen : dies bezieht sich jetzt auf die meisten Win7-User, die durch das ändern der Endung .txt in .bat eines Texdokumentes kein Ergebnis erzielen konnten. Wozu das gut ist ? Nunja , viele können nicht den SkillDmgHackverwenden, weil der Ordner gepatcht wird. Dieses kleine TuT hilft darüberhinaus , .bat-dateien für andere...
[C++]FindWindow findet nichts.
09/13/2010 - C/C++ - 18 Replies
http://www.paste-code.com/paste.php?id=kbC95ZHRry Aber sobald ich zum Beispiel : FindWindow(NULL,"PVP.net-Client") angebe, findet er es und gibt mir dann die HWND aus. Wo liegt das problem? Ich hab es auch schon so: FindWindow("\\„League of Legends\\“-Startprogramm - 1,0,0,31 - ", NULL); versucht, geht trozdem nicht :/
Checkbox richtig nutzen
06/09/2010 - AutoIt - 6 Replies
Hallo com, ich habe ein Problem undzwar: Ich habe einen Bot gemacht, und habe ein Fenster mit Checkboxen erstellt (mit Koda Designer). Bei den Checkboxen steht 1 mal klicken, 2 mal klicken, 3 mal klicken. Nun drückt man 1 mal klicken und das Fenster schließt sich dann startet der Bot Bespiel: MouseMove(100,100) sleep(5000000) MouseClick("left").
Adlib+Parameter
05/05/2010 - GW Bots - 6 Replies
Hey Wie verwende ich denn "AdlibRegister",wenn die zu registrierende Funktion Parameter benötigt?:D Schonmal Ty an alle:handsdown: ~menchecktor
Kal FindWindow help
12/15/2008 - Kal Online - 2 Replies
yup, what the title is saying, i'm trying to find the window of kalonline ... but failed.... dont work idk why, name is correct.... hope someone can help Source: // Basic Include's #include <windows.h> #include <iostream> // The Namespace



All times are GMT +1. The time now is 19:00.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

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