OSDN Git Service

v0.0.1 release
[winautomata/winautomata.git] / wheel.c
1 #include <windows.h>
2 #include <stdio.h>
3
4 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
5             PSTR lpCmdLine, int nCmdShow)
6 {
7     int wheel_amount = 0;
8
9     char buf[256];
10     char* p2 = buf;
11     char* p = lpCmdLine;
12     while(1) {
13         if(*p == ' ' || *p == 0) {
14             *p2 = 0;
15             
16             wheel_amount = atoi(buf);
17
18             if(*p == 0) break;
19
20             p++;
21             p2 = buf;
22         }
23         else {
24             if(p2 - buf < 255) {
25                 *p2++ = *p++;
26             }
27             else {
28                 p++;
29             }
30         }
31     }
32
33     printf("wheel_amount: %d\n", wheel_amount);
34
35     INPUT inputs[3];
36
37     inputs[0].type = INPUT_MOUSE;
38
39     inputs[0].mi.dx = 0;
40     inputs[0].mi.dy = 0;
41     inputs[0].mi.mouseData = 0;
42     inputs[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
43     inputs[0].mi.time = 0;
44     inputs[0].mi.dwExtraInfo = 0;
45
46     inputs[1].type = INPUT_MOUSE;
47
48     inputs[1].mi.dx = 0;
49     inputs[1].mi.dy = 0;
50     inputs[1].mi.mouseData = 0;
51     inputs[1].mi.dwFlags = MOUSEEVENTF_LEFTUP;
52     inputs[1].mi.time = 0;
53     inputs[1].mi.dwExtraInfo = 0;
54
55     inputs[2].type = INPUT_MOUSE;
56
57     inputs[2].mi.dx = 0;
58     inputs[2].mi.dy = 0;
59     inputs[2].mi.mouseData = wheel_amount;
60     inputs[2].mi.dwFlags = MOUSEEVENTF_WHEEL;
61     inputs[2].mi.time = 0;
62     inputs[2].mi.dwExtraInfo = 0;
63
64     SendInput(3, inputs, sizeof(INPUT));
65
66     return 0;
67 }
68