Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 04:31

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

Advertisement



C++ Txt Datei per keybd_event ausgeben

Discussion on C++ Txt Datei per keybd_event ausgeben within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2009
Posts: 374
Received Thanks: 367
C++ Txt Datei per keybd_event ausgeben

Guten Abend zusammen
kurz zur Eklärung was das Programm eigentlich machen soll:
Ich möchte aus einer txt Datei mir jede einzelen Zeile per keybd_event ausgeben lassen.Es soll also die Zeile geschrieben werden und dann Enter gedrückt werden, leider funktioniert das bei mir nicht. Wäre euch dankbar wenn ich mir "mal eben" den Fehler zeigen könntet (bestimmt ein Anfängerfehler ).
Das Programm gibt gar nichts aus und die Konsole schließt sich einfach automatisch wieder.

So wieder der Code jetzt ist, sollte er eigentlich jeden Buchstaben einzeln simulieren.
danke

Hier der Code:
PHP Code:


#include <fstream> 
#include <strstream>
#include <string>
#include <iostream> 
#include <cstdio>
#include <windows.h>
#include <time.h>

using namespace std;

int main ()
{
char zeile [500]; // Zeile max 121 Zeichen
string Seite[1000]; // Datei Max 10000 Zeilen

ifstream dateiLese ("c:\\liste.txt"); // Liste zum Auslesen

if (dateiLese)
{
int i=0;
// solange die Zeile nicht leer ist
while(dateiLese.getline (zeile500)) // Zeile lesen
{
Seite[i]=zeile;
Sleep(3000);

for(
int j=0;j<10;j++){// Automatische Eingabe der Textdatei ermöglichen
    
switch(zeile[j]){
case 
'a'keybd_event(VkKeyScan('a'),0x97,0);keybd_event(VkKeyScan('a'),0x97,KEYEVENTF_KEYUP,0);break;
case 
'b'keybd_event(VkKeyScan('b'),0x98,0);keybd_event(VkKeyScan('b'),0x98,KEYEVENTF_KEYUP,0);break;
case 
'c'keybd_event(VkKeyScan('c'),0x99,0);keybd_event(VkKeyScan('c'),0x99,KEYEVENTF_KEYUP,0);break;
case 
'd'keybd_event(VkKeyScan('d'),0x100,0);keybd_event(VkKeyScan('d'),0x100,KEYEVENTF_KEYUP,0);break;
case 
'e'keybd_event(VkKeyScan('e'),0x101,0);keybd_event(VkKeyScan('e'),0x101,KEYEVENTF_KEYUP,0);break;
case 
'f'keybd_event(VkKeyScan('f'),0x102,0);keybd_event(VkKeyScan('f'),0x102,KEYEVENTF_KEYUP,0);break;
case 
'g'keybd_event(VkKeyScan('g'),0x103,0);keybd_event(VkKeyScan('g'),0x103,KEYEVENTF_KEYUP,0);break;
case 
'h'keybd_event(VkKeyScan('h'),0x104,0);keybd_event(VkKeyScan('h'),0x104,KEYEVENTF_KEYUP,0);break;
case 
'i'keybd_event(VkKeyScan('i'),0x105,0);keybd_event(VkKeyScan('i'),0x105,KEYEVENTF_KEYUP,0);break;
case 
'j'keybd_event(VkKeyScan('j'),0x106,0);keybd_event(VkKeyScan('j'),0x106,KEYEVENTF_KEYUP,0);break;
case 
'k'keybd_event(VkKeyScan('k'),0x107,0);keybd_event(VkKeyScan('k'),0x107,KEYEVENTF_KEYUP,0);break;
case 
'l'keybd_event(VkKeyScan('l'),0x108,0);keybd_event(VkKeyScan('l'),0x108,KEYEVENTF_KEYUP,0);break;
case 
'm'keybd_event(VkKeyScan('m'),0x109,0);keybd_event(VkKeyScan('m'),0x109,KEYEVENTF_KEYUP,0);break;
case 
'n'keybd_event(VkKeyScan('n'),0x110,0);keybd_event(VkKeyScan('n'),0x110,KEYEVENTF_KEYUP,0);break;
case 
'o'keybd_event(VkKeyScan('o'),0x111,0);keybd_event(VkKeyScan('o'),0x111,KEYEVENTF_KEYUP,0);break;
case 
'p'keybd_event(VkKeyScan('p'),0x112,0);keybd_event(VkKeyScan('p'),0x112,KEYEVENTF_KEYUP,0);break;
case 
'q'keybd_event(VkKeyScan('q'),0x113,0);keybd_event(VkKeyScan('q'),0x113,KEYEVENTF_KEYUP,0);break;
case 
'r'keybd_event(VkKeyScan('r'),0x114,0);keybd_event(VkKeyScan('r'),0x114,KEYEVENTF_KEYUP,0);break;
case 
's'keybd_event(VkKeyScan('s'),0x115,0);keybd_event(VkKeyScan('s'),0x115,KEYEVENTF_KEYUP,0);break;
case 
't'keybd_event(VkKeyScan('t'),0x116,0);keybd_event(VkKeyScan('t'),0x116,KEYEVENTF_KEYUP,0);break;
case 
'u'keybd_event(VkKeyScan('u'),0x117,0);keybd_event(VkKeyScan('u'),0x117,KEYEVENTF_KEYUP,0);break;
case 
'v'keybd_event(VkKeyScan('v'),0x118,0);keybd_event(VkKeyScan('v'),0x118,KEYEVENTF_KEYUP,0);break;
case 
'w'keybd_event(VkKeyScan('w'),0x119,0);keybd_event(VkKeyScan('w'),0x119,KEYEVENTF_KEYUP,0);break;
case 
'x'keybd_event(VkKeyScan('x'),0x120,0);keybd_event(VkKeyScan('x'),0x120,KEYEVENTF_KEYUP,0);break;
case 
'y'keybd_event(VkKeyScan('y'),0x121,0);keybd_event(VkKeyScan('y'),0x121,KEYEVENTF_KEYUP,0);break;
case 
'z'keybd_event(VkKeyScan('z'),0x122,0);keybd_event(VkKeyScan('z'),0x122,KEYEVENTF_KEYUP,0);break;

case 
'A'keybd_event(VkKeyScan('A'),0x65,0);keybd_event(VkKeyScan('A'),0x65,KEYEVENTF_KEYUP,0);break;
case 
'B'keybd_event(VkKeyScan('B'),0x66,0);keybd_event(VkKeyScan('B'),0x66,KEYEVENTF_KEYUP,0);break;    
case 
'C'keybd_event(VkKeyScan('C'),0x67,0);keybd_event(VkKeyScan('C'),0x67,KEYEVENTF_KEYUP,0);break;
case 
'D'keybd_event(VkKeyScan('D'),0x68,0);keybd_event(VkKeyScan('D'),0x68,KEYEVENTF_KEYUP,0);break;
case 
'E'keybd_event(VkKeyScan('E'),0x69,0);keybd_event(VkKeyScan('E'),0x69,KEYEVENTF_KEYUP,0);break;
case 
'F'keybd_event(VkKeyScan('F'),0x70,0);keybd_event(VkKeyScan('F'),0x70,KEYEVENTF_KEYUP,0);break;
case 
'G'keybd_event(VkKeyScan('G'),0x71,0);keybd_event(VkKeyScan('G'),0x71,KEYEVENTF_KEYUP,0);break;
case 
'H'keybd_event(VkKeyScan('H'),0x72,0);keybd_event(VkKeyScan('H'),0x72,KEYEVENTF_KEYUP,0);break;
case 
'I'keybd_event(VkKeyScan('I'),0x73,0);keybd_event(VkKeyScan('I'),0x73,KEYEVENTF_KEYUP,0);break;
case 
'J'keybd_event(VkKeyScan('J'),0x74,0);keybd_event(VkKeyScan('J'),0x74,KEYEVENTF_KEYUP,0);break;
case 
'K'keybd_event(VkKeyScan('K'),0x75,0);keybd_event(VkKeyScan('K'),0x75,KEYEVENTF_KEYUP,0);break;
case 
'L'keybd_event(VkKeyScan('L'),0x76,0);keybd_event(VkKeyScan('L'),0x76,KEYEVENTF_KEYUP,0);break;
case 
'M'keybd_event(VkKeyScan('M'),0x77,0);keybd_event(VkKeyScan('M'),0x77,KEYEVENTF_KEYUP,0);break;
case 
'N'keybd_event(VkKeyScan('N'),0x78,0);keybd_event(VkKeyScan('N'),0x78,KEYEVENTF_KEYUP,0);break;
case 
'O'keybd_event(VkKeyScan('O'),0x79,0);keybd_event(VkKeyScan('O'),0x79,KEYEVENTF_KEYUP,0);break;
case 
'P'keybd_event(VkKeyScan('P'),0x80,0);keybd_event(VkKeyScan('P'),0x80,KEYEVENTF_KEYUP,0);break;
case 
'Q'keybd_event(VkKeyScan('Q'),0x81,0);keybd_event(VkKeyScan('Q'),0x81,KEYEVENTF_KEYUP,0);break;
case 
'R'keybd_event(VkKeyScan('R'),0x82,0);keybd_event(VkKeyScan('R'),0x82,KEYEVENTF_KEYUP,0);break;
case 
'S'keybd_event(VkKeyScan('S'),0x83,0);keybd_event(VkKeyScan('S'),0x83,KEYEVENTF_KEYUP,0);break;
case 
'T'keybd_event(VkKeyScan('T'),0x84,0);keybd_event(VkKeyScan('T'),0x84,KEYEVENTF_KEYUP,0);break;
case 
'U'keybd_event(VkKeyScan('U'),0x85,0);keybd_event(VkKeyScan('U'),0x85,KEYEVENTF_KEYUP,0);break;
case 
'V'keybd_event(VkKeyScan('V'),0x86,0);keybd_event(VkKeyScan('V'),0x86,KEYEVENTF_KEYUP,0);break;
case 
'W'keybd_event(VkKeyScan('W'),0x87,0);keybd_event(VkKeyScan('W'),0x87,KEYEVENTF_KEYUP,0);break;
case 
'X'keybd_event(VkKeyScan('X'),0x88,0);keybd_event(VkKeyScan('X'),0x88,KEYEVENTF_KEYUP,0);break;
case 
'Y'keybd_event(VkKeyScan('Y'),0x89,0);keybd_event(VkKeyScan('Y'),0x89,KEYEVENTF_KEYUP,0);break;
case 
'Z'keybd_event(VkKeyScan('Z'),0x90,0);keybd_event(VkKeyScan('Z'),0x90,KEYEVENTF_KEYUP,0);break;

case 
'0'keybd_event(48,0,0);keybd_event(48,0,KEYEVENTF_KEYUP,0);break;
case 
'1'keybd_event(49,0,0);keybd_event(49,0,KEYEVENTF_KEYUP,0);break;
case 
'2'keybd_event(50,0,0);keybd_event(50,0,KEYEVENTF_KEYUP,0);break;
case 
'3'keybd_event(51,0,0);keybd_event(51,0,KEYEVENTF_KEYUP,0);break;
case 
'4'keybd_event(52,0,0);keybd_event(52,0,KEYEVENTF_KEYUP,0);break;
case 
'5'keybd_event(53,0,0);keybd_event(53,0,KEYEVENTF_KEYUP,0);break;
case 
'6'keybd_event(54,0,0);keybd_event(54,0,KEYEVENTF_KEYUP,0);break;
case 
'7'keybd_event(55,0,0);keybd_event(55,0,KEYEVENTF_KEYUP,0);break;
case 
'8'keybd_event(56,0,0);keybd_event(56,0,KEYEVENTF_KEYUP,0);break;
case 
'9'keybd_event(57,0,0);keybd_event(57,0,KEYEVENTF_KEYUP,0);break;
    
    
    
    
}
//case zuende

zeile[j]= '#';

}
//for schleife zuende

keybd_event(VK_RETURN,0x9C,0,0); // nach jeder geschrieben Zeile wird die Enter Taste gedrückt
keybd_event(VK_RETURN,0x9C,0,0);

i++;
}

dateiLese.close (); // Datei schliessen



}
getchar();

fliegefliege is offline  
Thanks
1 User
Old 09/15/2014, 23:31   #2

 
Delinquenz's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,160
Received Thanks: 232
Nicht unbedingt relevant zu deinem Problem, aber mir ist da was aufgefallen:

Code:
case 0: keybd_event(VkKeyScan(0),0x48,0 , 0);keybd_event(VkKeyScan(0),0x48,KEYEVENTF_KEYUP,0);break;
case 1: keybd_event(VkKeyScan(1),0x49,0 , 0);keybd_event(VkKeyScan(1),0x49,KEYEVENTF_KEYUP,0);break;
case 2: keybd_event(VkKeyScan(2),0x50,0 , 0);keybd_event(VkKeyScan(2),0x50,KEYEVENTF_KEYUP,0);break;
case 3: keybd_event(VkKeyScan(3),0x51,0 , 0);keybd_event(VkKeyScan(3),0x51,KEYEVENTF_KEYUP,0);break;
case 4: keybd_event(VkKeyScan(4),0x52,0 , 0);keybd_event(VkKeyScan(4),0x52,KEYEVENTF_KEYUP,0);break;
case 5: keybd_event(VkKeyScan(5),0x53,0 , 0);keybd_event(VkKeyScan(5),0x53,KEYEVENTF_KEYUP,0);break;
case 6: keybd_event(VkKeyScan(6),0x54,0 , 0);keybd_event(VkKeyScan(6),0x54,KEYEVENTF_KEYUP,0);break;
case 7: keybd_event(VkKeyScan(7),0x55,0 , 0);keybd_event(VkKeyScan(7),0x55,KEYEVENTF_KEYUP,0);break;
case 8: keybd_event(VkKeyScan(8),0x56,0 , 0);keybd_event(VkKeyScan(8),0x56,KEYEVENTF_KEYUP,0);break;
case 9: keybd_event(VkKeyScan(9),0x57,0 , 0);keybd_event(VkKeyScan(9),0x57,KEYEVENTF_KEYUP,0);break;
0 und '0' (was du wohl eigentlich abfragen wolltest), sind 2 verschiedene Dinge. 0 ist das Nullzeichen während '0' die Zahl 0 ist.

void main() ist übrigens veraltet seit sehr langer Zeit, int main() ist der "neue ****".

Wieso benutzt du ein char Array anstelle eines Strings?
Delinquenz is offline  
Thanks
1 User
Old 09/16/2014, 00:07   #3
 
elite*gold: 0
Join Date: May 2009
Posts: 374
Received Thanks: 367
Hallo, erstmal vielen Dank für deine Antwort
ja danke für den Hinweis, ich hab es korrigiert. das mit dem int main() habe ich auch schon öfter gelesen, habe es nur mit einer älteren fassung von einem buch gelernt...

soweit ich weiß geht es nur mit einem char array,ich hatte da vorher auch einen string array aber dann kommt eine Fehlermeldung. Nachdem ich das Problem gegooglt habe habe ich dann bemerkt,dass es mit dem char array zumindest keine kompilierungsprobleme gibt. Hätte ich nicht dann auch das Problem,dass ich ein ganzes Wort in einer Zelle gespeichert hätte statt einem Buchstaben?

Was mir gerade noch aufgefallen ist, ist dass ich diese Warnmeldungen erhalte:
warning C4244: 'Argument': Konvertierung von 'SHORT' in 'BYTE', möglicher Datenverlust
warning C4305: 'Argument': Verkürzung von 'int' in 'BYTE'
fliegefliege is offline  
Old 09/16/2014, 11:17   #4


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
void main() gibt es in C++ nicht.

Wozu das riesige switch-case, wenn du sowieso in jedem Case gleich vorgehst?
MrSm!th is offline  
Thanks
1 User
Old 09/16/2014, 11:33   #5
 
elite*gold: 0
Join Date: May 2009
Posts: 374
Received Thanks: 367
kompilieren konnte ich es auch mit void (main), naja habe es geändert das Problem besteht trotzdem noch.
Ich wusste nicht wie ich anders vorgehen kann, je nachdem was für ein Buchstabe zeile[i] gerade enthält benötigt man doch jedes mal einen anderen Case oder nicht?

EDIT: Quellcode editiert,das einzige was jetzt noch nicht funktioniert sind zahlen (statt einer "4" hat er mir ein "d" ausgegeben)

EDIT 2: Habe das Problem mitterweile selber lösen können, habe den Quellcode oben richtig editiert,falls jmd ein ähnliches problem mal haben sollte
danke für die hilfe
fliegefliege is offline  
Reply


Similar Threads Similar Threads
Für wow geld ausgeben oder für free to play games geld ausgeben?
09/22/2013 - General Gaming Discussion - 5 Replies
Hallo, was meint ihr sollte man für freetoplay spiel, wo paytowin herrscht, dafür sein Geld ausgeben, damit man für eine permanente (Beispiel) waffe 25€ ausgibt oder sollte man das Geld lieber in wow reinstecken und halt nur ne begrenzte Zeit spielen, man kann bei freetoplay ja immer spielen, aber bei wow hast du ja alle "Waffen" für immer, also was meint ihr sollte man in wow das Geld reinstecken oder eher in ein paytowin system es reinsteken? :)
[hilfe] c++ keybd_event
07/01/2010 - C/C++ - 3 Replies
hallo ich hab ein kleines problem ich hab versucht einen bot mit c++ zu schreiben aber der compiler zeigt immer einen fehler an ich hab im internet nichts dazu gefunden könt ihr mir bitte helfen #include <iostream>
c++ keybd_event problem
06/17/2010 - C/C++ - 4 Replies
ich hab ein kleines problem beim tastendruck simulieren in c++ und zwar Sleep(100); keybd_event(VkKeyScan('E'),0,0 , 0); hier wird ja e gesendet aber leider nur auf das programm das im vordergrund steht wie kann man das z.b. zu nostale senden?? also nur zu nostale
Self-Type (using keybd_event)
11/30/2009 - CO2 Programming - 0 Replies
Self-Type. By: Str1k3r21 Credits: MSDN, UC-FORUM. Enjoy void cType::Key(BYTE bVK){ // Simulate a key press keybd_event( bVK, NULL, KEYEVENTF_EXTENDEDKEY | 0,
'keybd_event' -Alternative
10/16/2008 - General Coding - 13 Replies
Guten Tag. Könnte mir jemand freundlicherweise die Funktion zum Simulieren des Drückens einer Taste aktualisieren, und zwar so, dass diese in den meisten MMORPGs funktioniert? Also so ähnlich wie die von AutoIt, die, soweit ich weiß, 'WinAttach' gebraucht. PS: Darüberhinaus würde ich es begrüßen, wenn mir einer den Quellcode kompilieren könnte, da ich überhaupt nicht weiß, wie so etwas funktioniert. Vielen Dank :-)



All times are GMT +1. The time now is 04:32.


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.