מניפולטור מסוג "עכבר" הוא מאפיין הכרחי של כל מחשב. בלעדיה אי אפשר לדמיין שליטה או ניווט דרך יישומים. מניפולטור זה מתקשר באופן פעיל עם המשתמש על ידי הצגת פעולותיו (תנועות, לחיצות, גלילה) על המסך. עבור משימות תכנות מסוימות, ייתכן שתידרש הדמיית עכבר תוכנה.
זה הכרחי
סביבת הפיתוח של Microsoft Visual C ++. Net (לא נמוכה מ- 2003)
הוראות
שלב 1
התקן את Microsoft Visual C ++. Net (2003 ואילך). קיימות מספר גרסאות לסביבת פיתוח זו - בתשלום ובחינם. ניתן להוריד אותם מאתר היזם. לאחר ההתקנה, צור פרויקט חדש וחבר את System. Windows. Forms ו- System. Drawing כמוצג להלן: באמצעות System. Windows. Forms; באמצעות System. Drawing;
שלב 2
כדי להעביר את העכבר על פני המסך במערכות הפעלה של Windows, השתמש בפונקציות המגדירות ישירות את מיקום הסמן על המסך. השתמש, למשל, בקוד הבא: Cursor. Position = נקודה חדשה (x, y); שורה זו תעביר את הסמן למיקום שצוין בבנאי מחלקת הנקודה (x, y) (כאשר x ו- y הם קואורדינטות המיקום בו צריך להיות ממוקם הסמן) … אם עליך להגדיר את מיקום הסמן שוב ושוב, צור מופע אחד של מחלקת הנקודה והשתמש בשיטה לשינוי הקואורדינטות עבורו. זה יחסוך זיכרון: נקודת נקודה = נקודה חדשה (0, 0); Cursor. Position = נקודה. אופסט (20, 100); Cursor. Position = point. Offset (40, -20); קוד זה יוצר אובייקט של מחלקה נקודה () עם קואורדינטות 0, 0. השורה השנייה מעבירה את הנקודה ב- 20 פיקסלים ב- X וב- 100 פיקסלים ב- Y. הקואורדינטה הנוכחית שמצביע עליה אובייקט הנקודה היא 20, 100. השורה השלישית שוב קורה נקודת קיזוז לפי מספר הפיקסלים שצוין (40 ו- -20, בהתאמה). הקואורדינטה הנוכחית היא 60 (20 + 40) ב- X ו- 80 (100-20) ב- Y.
שלב 3
השתמש בפונקציות Win32 SendInput () או mouse_event () כדי לחקות לחיצת עכבר. לדוגמא, כדי לדמות באמצעות לחיצה ימנית באופן פרוגרמטי, השתמש בקוד הבא: // ייבא mouse_event (): [DllImport ("User32.dll")] סטטי חיצוני ריק / mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // להקלת השימוש, צור ספירה עם הקבועים (הדגלים) הדרושים // המגדירים פעולות עכבר: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, מוחלט = 0x8000}; // שימוש - לחץ על הקואורדינטות שנקבעו למטה: const int x = 39000; // קואורדינטות על ידי Xconst int y = 12000; // קואורדינטות מאת Ymouse_event (MouseFlags. Absolute | MouseFlags. Move, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Absolute | MouseFlags. RightDown, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. מוחלט | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
שלב 4
לחקות לחיצת עכבר על ידי שליחת הודעות WM_LBUTTONDOWN ו- WM_LBUTTONUP באמצעות הפונקציה Win API SendMessage (). לדוגמא, כפי שמוצג להלן: בטל OnBtPerformClick (שולח אובייקט, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBUTTONUP;