Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 21:58

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

Advertisement



[Hilföö] C++ DLL - Console, bzgl. strcmp... einfach lesen ;)

Discussion on [Hilföö] C++ DLL - Console, bzgl. strcmp... einfach lesen ;) within the C/C++ forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2011
Posts: 637
Received Thanks: 382
[Hilföö] C++ DLL - Console, bzgl. strcmp... einfach lesen ;)

Hallöö ;o
I hob da n Problämm...

Ich habe ne DLL in der ich eine Konsole erscheinen lasse.
Dann hab ich ne kleine Funktion zum ändern der Schriftfarbe..

Soweit so gut...
Funktioniert soweit- ABER...
Ich will jetzt ne Eingabe per "if" abfragen! (siehe code)

PHP Code:
void Konsole()
{
        
AllocConsole();
        
freopen("CONOUT$""wb"stdout);
        
freopen("CONOUT$""wb"stderr);
        
freopen("CONIN$""rb"stdin);

        

        
SetConsoleTitle(TEXT("DLL (Konsole)"));

        
textcolor(LIGHTGREEN); std::cout << "Successfully Injected! \n";
        
std::cout << "\n"//Noch ne Leerzeile
        
textcolor(LIGHTCYAN); std::cout << "[CONSOLE] Type in your cmd: "textcolor(WHITE);

    for(;;){

        
chareingabe;
        
std::cin >> eingabe;

        if(!
strcmp("/cmd"eingabe))
                {
                        
std::cout << "Yo! \n";
                }    
        else
                {
                        
std::cout << "Can´t find command '" << eingabe << "'" << "\n";
                }
        

            }

Mein Problem ist nun, dass ich in der Abfrage, die Textfarbe nicht mehr ändern kann. sobald ich vor das
Code:
std::cout << "Yo! \n";
meine textfarbe setze, macht meine konsole nicht mehr weiter :<
Bleibt einfach stehen und gibt garnix mehr zurück...


Kann mir jemand helfen?
xSnake is offline  
Old 03/16/2013, 16:39   #2
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Schau dir nochmal an, in was du deine Eingabe einliesst, dann kommst selber drauf.
Schlüsselbein is offline  
Old 03/16/2013, 16:50   #3
 
elite*gold: 0
Join Date: Jan 2011
Posts: 637
Received Thanks: 382
Quote:
Originally Posted by Schlüsselbein View Post
Schau dir nochmal an, in was du deine Eingabe einliesst, dann kommst selber drauf.
o: sorry, iwie nicht..
hab jetzt 2 nächte nicht geschlafen.. bin zu dumm zu Q_Q
ohne die "textfarbenfunktion" funktionierts ja

aber danke schonmal für deine antwort ^^
xSnake is offline  
Old 03/16/2013, 20:46   #4
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Code:
        char* eingabe;
        std::cin >> eingabe;
Erläuter mir mal diese beiden Zeilen. Also denk mal drüber nach und schreib, was jede von diesen macht. Was passiert, wenn Zeile 1 ausgeführt wird, was passiert bei Zeile 2. Werd ruhig ausschweifend. Während du darüber nachdenkst und es schreibst, wird dir auffallen, warum das nicht gehen kann.

Für mehr reichts jetzt aber nicht, da heute Samstag Abend ist und meine langhälsigen Freunde auf mich warten.
Schlüsselbein is offline  
Thanks
1 User
Old 03/16/2013, 20:54   #5
 
elite*gold: 0
Join Date: Jan 2011
Posts: 637
Received Thanks: 382
Quote:
Originally Posted by Schlüsselbein View Post
Code:
        char* eingabe;
        std::cin >> eingabe;
Erläuter mir mal diese beiden Zeilen. Also denk mal drüber nach und schreib, was jede von diesen macht. Was passiert, wenn Zeile 1 ausgeführt wird, was passiert bei Zeile 2. Werd ruhig ausschweifend. Während du darüber nachdenkst und es schreibst, wird dir auffallen, warum das nicht gehen kann.

Für mehr reichts jetzt aber nicht, da heute Samstag Abend ist und meine langhälsigen Freunde auf mich warten.
Zeile2 sorgt dafür dass die console sozusagen "lauscht" / input ausließt und in der varbiablen "eingabe" speichert!

Zeile1 sorgt dafür dass die variable "eingabe" als datentyp char erstellt wird

und nu?
xSnake is offline  
Old 03/16/2013, 22:29   #6
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
vermisch nicht c mit c++.
Wenn du cin und cout nimmst, dann nimm auch den von c++ bereitgestellten datentyp string.

tipp: cin schreibt IN den übergebenen BUFFER hinein, jetzt klar?

EDIT:
und gewöhn dir nen einheitlichen stil an und rück alles ordentlich ein.
in c++ hat es sich weitgehend durchgesetzt, die geschweiften klammern immer in neue zeilen zu setzen.
Dr. Coxxy is offline  
Thanks
1 User
Old 03/16/2013, 23:04   #7
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Quote:
Originally Posted by xSnake View Post
Zeile1 sorgt dafür dass die variable "eingabe" als datentyp char erstellt wird
Falsch, sonst würde es ja so aussehen:
Code:
char eingabe;
.SkyneT. is offline  
Old 03/17/2013, 02:09   #8

 
Delinquenz's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,160
Received Thanks: 232
Um dir den Fehler vorweg zu nehmen: char* kann lediglich auf eine Konstante zeigen. Sprich zur Laufzeit nicht veränderbare Werte.
Delinquenz is offline  
Old 03/17/2013, 02:30   #9
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
Quote:
Originally Posted by Delinquenz View Post
Um dir den Fehler vorweg zu nehmen: char* kann lediglich auf eine Konstante zeigen. Sprich zur Laufzeit nicht veränderbare Werte.
wut?
bitte...
junge wtf.
bitte such ein fenster, mind. 3. stock und spring...
Dr. Coxxy is offline  
Thanks
1 User
Old 03/17/2013, 07:00   #10
 
TIMΣ™'s Avatar
 
elite*gold: 23
Join Date: Oct 2010
Posts: 2,986
Received Thanks: 357
Quote:
Originally Posted by Dr. Coxxy View Post
wut?
bitte...
junge wtf.
bitte such ein fenster, mind. 3. stock und spring...


Quote:
Um dir den Fehler vorweg zu nehmen: char* kann lediglich auf eine Konstante zeigen. Sprich zur Laufzeit nicht veränderbare Werte.


Ich weiß garnicht was du willst aber das was du meinst dürfte das sein
Code:
const char* eingabe;
Nur habe ich keine Ahnung wobei das nun helfen könnte...

Wieso setzt du überhaupt einen Pointer? Bzw. wozu brauchst du ihn? Denn ich blicke bei deinem Code leider nicht ganz durch.

Also ich würde wie Coxxy bereits sagte einen string benutzen, außer du benutzt nur Zahlen als eingabe. Du könntest aber natürlich auch ein char Array nutzen, was wiederum nicht so schön wäre.

Code:
std::string eingabe;
std::cin << eingabe;
Und dabei nicht den Header vergessen

Code:
#include <string>
Wenn ich mit irgendetwas falsch liege korrigiert mich, ich bin noch nicht so erfahren wie viele ander hier.
TIMΣ™ is offline  
Thanks
1 User
Old 03/17/2013, 09:47   #11
 
elite*gold: 0
Join Date: Jan 2011
Posts: 637
Received Thanks: 382
Quote:
Originally Posted by TIMΣ™ View Post






Ich weiß garnicht was du willst aber das was du meinst dürfte das sein
Code:
const char* eingabe;
Nur habe ich keine Ahnung wobei das nun helfen könnte...

Wieso setzt du überhaupt einen Pointer? Bzw. wozu brauchst du ihn? Denn ich blicke bei deinem Code leider nicht ganz durch.

Also ich würde wie Coxxy bereits sagte einen string benutzen, außer du benutzt nur Zahlen als eingabe. Du könntest aber natürlich auch ein char Array nutzen, was wiederum nicht so schön wäre.

Code:
std::string eingabe;
std::cin << eingabe;
Und dabei nicht den Header vergessen

Code:
#include <string>
Wenn ich mit irgendetwas falsch liege korrigiert mich, ich bin noch nicht so erfahren wie viele ander hier.

Ähm.. Joa xD
Projektmappe im Anhang... Da seht ihr mein Problem..
Hab das ja auch schon mit String versucht.. Aber ich komm tzd nicht klar :<

Wäre nice wenn mir wer meinen fehler direkt behebt..
Kriegt auch 10 e*gold


xSnake is offline  
Old 03/17/2013, 10:33   #12
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Quote:
Originally Posted by xSnake View Post
Ähm.. Joa xD
Projektmappe im Anhang... Da seht ihr mein Problem..
Hab das ja auch schon mit String versucht.. Aber ich komm tzd nicht klar :<

Wäre nice wenn mir wer meinen fehler direkt behebt..
Kriegt auch 10 e*gold


Noch ein gut gemeinter Tipp, lern erst die Sprache bevor du versuchst
irgendwelche Hacks zu schreiben.
Ich hab das jetzt nur so ausgebessert das es läuft, mehr nicht.

z.B ist ein mehrfacher Aufruf von SetConsoleTextAttribute() mit derselben Farbe
einfach sinnlos da, ich zitiere:
Quote:
Originally Posted by msdn.microsoft.com
This function affects text written after the function call.
.SkyneT. is offline  
Thanks
1 User
Old 03/17/2013, 10:43   #13
 
elite*gold: 0
Join Date: Jan 2011
Posts: 637
Received Thanks: 382
Quote:
Originally Posted by .SkyneT. View Post


Noch ein gut gemeinter Tipp, lern erst die Sprache bevor du versuchst
irgendwelche Hacks zu schreiben.
Ich hab das jetzt nur so ausgebessert das es läuft, mehr nicht.

z.B ist ein mehrfacher Aufruf von SetConsoleTextAttribute() mit derselben Farbe
einfach sinnlos da, ich zitiere:

Ja mach ich xD
Dankeschön
xSnake is offline  
Old 03/17/2013, 12:10   #14


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Um es dir trotzdem noch zu erklären:
Du schreibst mit deine Eingabe in den vorher nicht erstellten Puffer, auf den eingabe zeigen soll. Der Zeiger ist ungültig, weil du ihm keinen Wert zuweist. Ich glaube, du hast elementare Aspekte von Datentypen und speziell Zeigern noch nicht verstanden. Lass das mit dem Hacking bis dahin lieber.
MrSm!th is offline  
Thanks
1 User
Closed Thread


Similar Threads Similar Threads
einfach nur lesen :P
01/11/2011 - Call of Duty - 4 Replies
allo, bin neu hier im cod forum. Es gibt ja einen zombie mod und jetzt kann ein mod download das man unndlich ammo usw hat. Für black ops ! Ist das illiegal? Wird man gebannt?



All times are GMT +1. The time now is 21:58.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.