'N Manipuleerder van die tipe "muis" is 'n noodsaaklike eienskap van enige rekenaar. Daarsonder is dit onmoontlik om beheer of navigasie deur toepassings voor te stel. Hierdie manipuleerder werk aktief met die gebruiker deur sy handelinge (bewegings, klik, blaai) op die skerm te vertoon. Vir sommige programmeringstake kan sagteware-muisemulasie nodig wees.
Dit is nodig
Microsoft Visual C ++. Net-ontwikkelingsomgewing (nie laer as 2003 nie)
Instruksies
Stap 1
Installeer Microsoft Visual C ++. Net (2003 of later). Daar is verskillende weergawes van hierdie ontwikkelingsomgewing - betaal en gratis. Dit kan afgelaai word vanaf die ontwikkelaar se webwerf. Na die installering, skep u 'n nuwe projek en koppel System. Windows. Forms en System. Drawing soos hieronder getoon: gebruik System. Windows. Forms; met behulp van System. Drawing;
Stap 2
Om die muis in Windows-bedryfstelsels oor die skerm te beweeg, gebruik u funksies wat die posisie van die wyser direk op die skerm stel. Gebruik byvoorbeeld die volgende kode: Cursor. Posisie = nuwe punt (x, y); hierdie lyn sal die wyser beweeg na die posisie wat in die konstruktor van die punt (x, y) klas gespesifiseer word (waar x en y die koördinate van die posisie waar die wyser geplaas moet word) … As u die wyserposisie herhaaldelik moet instel, skep een voorbeeld van die puntklas en gebruik die metode om koördinate daarvoor te verander. Dit sal geheue bespaar: Puntpunt = nuwe punt (0, 0); Cursor. Posisie = punt. Afset (20, 100); Cursor. Position = point. Offset (40, -20); Hierdie kode skep 'n voorwerp van klaspunt () met koördinate 0, 0. Die tweede lyn skuif die punt met 20 pixels in X en 100 pixels in Y. Die huidige koördinaat waarna die puntvoorwerp wys, is 20, 100. Die derde lyn weer gebeur Offset Point met die gespesifiseerde aantal pixels (onderskeidelik 40 en -20). Die huidige koördinaat is 60 (20 + 40) in X en 80 (100-20) in Y.
Stap 3
Gebruik die Win32 SendInput () of mouse_event () funksies om 'n muisklik na te boots. Om byvoorbeeld 'n regskliek te programmeer, gebruik die volgende kode: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // vir gebruiksgemak, skep 'n opsomming met die nodige konstantes (vlae) // wat muisaksies definieer: [Vlae] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absoluut = 0x8000}; // gebruik - klik op die onderstaande koördinate: const int x = 39000; // koördinate deur Xconst int y = 12000; // koördinate deur 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
Volg 'n muisklik deur WM_LBUTTONDOWN- en WM_LBUTTONUP-boodskappe te stuur met die Win API SendMessage () -funksie. Byvoorbeeld, soos hieronder getoon: nietig OnBtPerformClick (objekversender, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBUTTON;