המטרה של הקוד היא להוריד את מהירות תזוזת סמן העכבר בחצי, ואם זה כבר בחצי אז להחזיר למהירות הרגילה. (הרעיון הוא להשתמש בזה במשחקים כשאני צריך יותר דיוק אם אני עם סנייפר).החלק שמשנה את מהירות העכבר עובד בלי בעיה. זה החלק ששמתי בהתניה 1==2 כי אני לא צריך להשתמש בו כרגע.
כרגע אני תקוע בלשמור את המהירות הנוכחית של העכבר, כדי שאוכל לדעת לאיזה מהירות אני רוצה לשנות.
משום מה הפוקנציה מחזירה ערך 0 למשתנה X (כלומר היא לא עובדת), וגם המצביע MouseSpeed לא משנה את הערך שלו.
אני לא מבין למה.
אני עובד לפי הדוגמא שראיתי כאן:
http://stackoverflow.com/questions/16813653/mouse-speed-not-changing-by-using-spi-setmousespeed
וגם לפי הדוקומנטציה:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724947(v=vs.85).aspx
הנה הקוד:
#include <windows.h> #include <stdio.h> #include <iostream> #pragma comment(lib, "user32.lib") int main() { int *MouseSpeed;
// Get the current mouse speed. bool x = SystemParametersInfo(SPI_GETMOUSESPEED, // Get mouse speed 0, MouseSpeed, SPIF_SENDCHANGE); std::cout<< *MouseSpeed; std::cout<<"\n"<< x; if( 1==2 ) { // Change the mouse speed to the new value. SystemParametersInfo(SPI_SETMOUSESPEED, // Set mouse speed 0, // Not used (PVOID)10, // Mouse speed increase SPIF_SENDCHANGE); // Update Win.ini
} return 0; }
|