2009-09-27 37 views
5

Tôi đã sử dụng CGPostMouseEvent() để thực hiện các nhấp chuột từ mac os 10.4.Thay thế CGPostMouseEvent trên Snow Leopard

Trong khi làm việc trên mã của tôi và cố gắng làm cho nó tương thích 100% với Snow Leopard, XCode nhả một cảnh báo nói rằng CGPostMouseEvent() không được chấp nhận. Trong khi điều này không làm tôi sợ, tôi muốn biết những gì thay thế CGPostMouseEvent(). Đây là cách tôi sử dụng:

CGPostMouseEvent(point,FALSE,1,TRUE); // mouse down 
CGPostMouseEvent(point,FALSE,1,FALSE); // mouse up 

Đó là tất cả.

Bất kỳ ý tưởng nào?

Cảm ơn!

Trả lời

11

CGEventCreateMouseEvent có thể được sử dụng với CGEventPost theo cách không được dùng nữa. Tham chiếu là here.


Chỉnh sửa từ OP:

Something như thế này?

void PostMouseEvent(CGMouseButton button, CGEventType type, const CGPoint point) 
{ 
    CGEventRef theEvent = CGEventCreateMouseEvent(NULL, type, point, button); 
    CGEventSetType(theEvent, type); 
    CGEventPost(kCGHIDEventTap, theEvent); 
    CFRelease(theEvent); 
} 
+0

một cái gì đó như thế này: trống PostMouseEvent (nút CGMouseButton, CGEventType loại, const CGPoint điểm) { CGEventRef theEvent = CGEventCreateMouseEvent (NULL, chủng loại, điểm, nút); CGEventSetType (theEvent, type); CGEventPost (kCGHIDEventTap, theEvent); CFRelease (theEvent); } – Uri

+0

oops, xin lỗi vì định dạng kém – Uri

+0

Thoạt nhìn, có vẻ đúng. – phoebus

Các vấn đề liên quan