Maison >Problème commun >macos simule le mouvement de la souris
Cet article traite de diverses méthodes pour contrôler le mouvement du curseur et automatiser les actions de la souris sur macOS à l'aide de code, AppleScript et Automator. Il explique comment utiliser la fonction CGEventCreateMouseEvent pour un contrôle précis du curseur et fournit des exemples
Il existe plusieurs façons de contrôler le mouvement du curseur sur macOS à l'aide de code. Une approche consiste à utiliser la fonction CGEventCreateMouseEvent
du framework Core Graphics. Cette fonction vous permet de créer un événement de souris avec des attributs spécifiés, tels que la position du curseur, l'état du bouton et l'horodatage. Vous pouvez ensuite utiliser la fonction CGEventPost
pour envoyer l'événement au système.CGEventCreateMouseEvent
function from the Core Graphics framework. This function allows you to create a mouse event with specified attributes, such as the cursor position, button state, and timestamp. You can then use the CGEventPost
function to send the event to the system.
Here's an example of how to use CGEventCreateMouseEvent
and CGEventPost
CGEventCreateMouseEvent
et CGEventPost
pour déplacer le curseur vers un point spécifique de l'écran :<code>#include <CoreGraphics/CoreGraphics.h> int main() { // Create a mouse event with the desired cursor position CGPoint cursorPosition = CGPointMake(100, 100); CGEventType eventType = kCGEventMouseMoved; CGMouseButton button = kCGMouseButtonLeft; CGEventRef event = CGEventCreateMouseEvent(NULL, eventType, cursorPosition, button); // Post the event to the system CGEventPost(kCGHIDEventTap, event); // Release the event CFRelease(event); return 0; }</code>
<code>tell application "System Events" set theX to 100 set theY to 100 set mousePos to {theX, theY} set frontWindow to window 1 of process "Finder" set mouseLoc to mouse loc of frontWindow set mouseLoc to mousePos end tell</code>
<code>tell application "System Events" repeat 10 times set theX to 100 set theY to 100 set mousePos to {theX, theY} set frontWindow to window 1 of process "Finder" set mouseLoc to mouse loc of frontWindow set mouseLoc to mousePos delay 1 end repeat end tell</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!