Een Muis Emuleren Emul

Inhoudsopgave:

Een Muis Emuleren Emul
Een Muis Emuleren Emul

Video: Een Muis Emuleren Emul

Video: Een Muis Emuleren Emul
Video: PUBG MOBILE (ENGLISH VERSION) - On PC plus Mouse and Keyboard! 2024, April
Anonim

Een manipulator van het type "muis" is een noodzakelijk kenmerk van elke computer. Zonder dit is het onmogelijk om controle of navigatie door applicaties voor te stellen. Deze manipulator communiceert actief met de gebruiker door zijn acties (bewegingen, klikken, scrollen) op het scherm weer te geven. Voor sommige programmeertaken kan softwaremuisemulatie vereist zijn.

Een muis emuleren emul
Een muis emuleren emul

Het is nodig

Microsoft Visual C++. Net ontwikkelomgeving (niet lager dan 2003)

instructies:

Stap 1

Installeer Microsoft Visual C++. Net (2003 of later). Er zijn verschillende versies van deze ontwikkelomgeving - betaald en gratis. Ze kunnen worden gedownload van de website van de ontwikkelaar. Maak na de installatie een nieuw project en verbind System. Windows. Forms en System. Drawing zoals hieronder getoond: met behulp van System. Windows. Forms; met behulp van System. Drawing;

Stap 2

Om de muis over het scherm te bewegen in Windows-besturingssystemen, gebruikt u functies die de positie van de cursor op het scherm rechtstreeks instellen. Gebruik bijvoorbeeld de volgende code: Cursor. Position = new Point (x, y); Deze regel verplaatst de cursor naar de positie die is opgegeven in de constructor van de klasse Point (x, y) (waarbij x en y de coördinaten van de positie waar de cursor moet komen) … Als u de cursorpositie herhaaldelijk moet instellen, maakt u één instantie van de klasse Point en gebruikt u de methode om de coördinaten ervoor te wijzigen. Dit bespaart geheugen: Punt punt = nieuw punt (0, 0); Cursor. Positie = punt. Offset (20, 100); Cursor. Positie = punt. Offset (40, -20); Deze code maakt een object van klasse Punt () met coördinaten 0, 0. De tweede lijn verschuift het Punt met 20 pixels in X en 100 pixels in Y. De huidige coördinaat waarnaar het puntobject verwijst is 20, 100. De derde regel opnieuw gebeurt Offset Point met het opgegeven aantal pixels (respectievelijk 40 en -20). De huidige coördinaat is 60 (20 + 40) in X en 80 (100-20) in Y.

Stap 3

Gebruik de Win32 SendInput () of mouse_event () functies om een muisklik te emuleren. Om bijvoorbeeld een rechtsklik programmatisch te simuleren, gebruikt u de volgende code: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // voor gebruiksgemak, maak een opsomming met de nodige constanten (vlaggen) // die muisacties definiëren: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absoluut = 0x8000}; // gebruik - klik op de onderstaande coördinaten: const int x = 39000; // coördinaten door Xconst int y = 12000; // coördinaten door 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. Absoluut MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);

Stap 4

Emuleer een muisklik door WM_LBUTTONDOWN- en WM_LBUTTONUP-berichten te verzenden met behulp van de Win API SendMessage () -functie. Bijvoorbeeld, zoals hieronder getoond: void OnBtPerformClick (objectafzender, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBUTTONUP } MKPTONR;

Aanbevolen: