1 #define UNICODE
 2 #include <windows.h>
 3 
 4 int main(int argc, char **argv)
 5 {
 6     int speed1 = 0, speed2 = 0, speed = 0;
 7     printf("Set Mouse Speed by Maverick\n");
 8 
 9     SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0);
10     printf("Current speed: %2d\n", speed);
11 
12     if (argc == 1) return 0;
13     if (argc >= 2) sscanf(argv[1], "%d", &speed1);
14     if (argc >= 3) sscanf(argv[2], "%d", &speed2);
15 
16     if (argc == 2)
17     { // set speed to fixed value
18       speed = speed1;
19         }
20         else if (argc == 3)
21         { // alternate between two speed, otherwise speed1 will be used
22           if (speed == speed1 || speed == speed2) speed = speed1 + speed2 - speed;
23           else speed = speed1;
24         }
25 
26         SystemParametersInfo(SPI_SETMOUSESPEED, 0, speed, 0);
27     SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0);
28     printf("New speed:     %2d\n", speed);
29     return 0;
30 }