2009-09-27 141 views
5

自從mac os 10.4以來,我一直使用CGPostMouseEvent()來執行鼠標點擊。Snow Leopard上的CGPostMouseEvent替換

在處理我的代碼並試圖使其與Snow Leopard 100%兼容時,XCode吐出警告,指出CGPostMouseEvent()已被棄用。雖然這不會嚇倒我,但我想知道什麼替代CGPostMouseEvent()。 這是我如何使用它:

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

這就是全部。

任何想法?

謝謝!

回答

11

CGEventCreateMouseEvent可以以不推薦的方式與CGEventPost一起使用。參考文獻是here。從OP


編輯:

像這樣的事情?

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

是這樣的: 空隙PostMouseEvent(CGMouseButton按鈕,CGEventType類型,常量CGPoint點) { CGEventRef theEvent = CGEventCreateMouseEvent(NULL,類型,點,按鈕); CGEventSetType(theEvent,type); CGEventPost(kCGHIDEventTap,theEvent); CFRelease(theEvent); } – Uri 2009-09-27 13:49:41

+0

哎呀,對不起,格式不好 – Uri 2009-09-27 13:50:20

+0

乍一看,看起來是正確的。 – phoebus 2009-09-27 13:58:58