This article discusses various methods to control cursor movement and automate mouse actions on macOS using code, AppleScript, and Automator. It explains how to use the CGEventCreateMouseEvent function for precise cursor control and provides examples

There are multiple ways to control cursor movement on macOS using code. One approach involves using theCGEventCreateMouseEventfunction 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 theCGEventPostfunction to send the event to the system.CGEventCreateMouseEventfunction 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 theCGEventPostfunction to send the event to the system.
Here's an example of how to useCGEventCreateMouseEventandCGEventPost
CGEventCreateMouseEventand
CGEventPostto move the cursor to a specific point on the screen:
#include 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; } 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 telltell 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
The above is the detailed content of macos simulates mouse movement. For more information, please follow other related articles on the PHP Chinese website!