Realizar un doble clic con CGEventCreateMouseEvent ()

Estoy usando el siguiente código para simular un clic del mouse:

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

void LeftClick(const CGPoint point) 
{
 PostMouseEvent(kCGMouseButtonLeft, kCGEventMouseMoved, point);
 NSLog(@"Click!");
 PostMouseEvent(kCGMouseButtonLeft, kCGEventLeftMouseDown, point);
 PostMouseEvent(kCGMouseButtonLeft, kCGEventLeftMouseUp, point);
}

Básicamente puedo usar el mismo código para hacer un clic de control (clic derecho) cambiando:

kCGEventLeftMouseDown

kCGEventLeftMouseUp

kCGMouseButtonLeft

a sus respectivos eventos de "Derecho". La función se ve algo así como:

void RightClick(const CGPoint point) 
{
 PostMouseEvent(kCGMouseButtonRight, kCGEventMouseMoved, point);
 NSLog(@"Click Right");
 PostMouseEvent(kCGMouseButtonRight, kCGEventRightMouseDown, point);
 PostMouseEvent(kCGMouseButtonRight, kCGEventRightMouseUp, point);
}

Pero, ¿qué tal un doble clic? Intenté enviar 2 clics a la izquierda y llamar a PostMouseEvent () dos veces seguidas, pero no tuve suerte. ¿Cómo se realiza un doble clic?

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta