Манипулаторът от типа "мишка" е необходим атрибут на всеки компютър. Без него е невъзможно да си представим управление или навигация през приложения. Този манипулатор активно взаимодейства с потребителя, като показва действията му (движения, кликвания, превъртане) на екрана. За някои задачи по програмиране може да е необходима емулация на софтуерна мишка.
Необходимо е
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 = new Point (x, y); Този ред ще премести курсора до позицията, посочена в конструктора на класа Point (x, y) (където x и y са координати на позицията, където курсорът трябва да бъде поставен) … Ако трябва да зададете позицията на курсора многократно, създайте един екземпляр от класа Point и използвайте метода за промяна на координатите за него. Това ще спести памет: Точка точка = нова точка (0, 0); Cursor. Position = point. Offset (20, 100); Cursor. Position = point. Offset (40, -20); Този код създава обект от клас Point () с координати 0, 0. Вторият ред измества Точката с 20 пиксела в X и 100 пиксела в Y. Текущата координата, посочена от обекта point, е 20, 100. Третият ред отново се случва Offset Point с посочения брой пиксели (съответно 40 и -20). Текущата координата е 60 (20 + 40) в X и 80 (100-20) в Y.
Стъпка 3
Използвайте функциите Win32 SendInput () или mouse_event (), за да емулирате щракване с мишката. Например, за да симулирате програмно десен бутон, използвайте следния код: // импортиране на mouse_event (): [DllImport ("User32.dll")] static extern void 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, Absolute = 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_lags. Абсолютно | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
Стъпка 4
Емулирайте щракване на мишката, като изпращате съобщения WM_LBUTTONDOWN и WM_LBUTTONUP, като използвате функцията Win API SendMessage (). Например, както е показано по-долу: void OnBtPerformClick (подател на обект, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_TON_PONP;