He estado usando el siguiente código para emitir clics mediante programación en un MacAl hacer clic en el ratón hacia abajo para arrastrar objetos en Mac
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 Click(const CGPoint point)
{
PostMouseEvent(kCGMouseButtonLeft, kCGEventMouseMoved, point);
NSLog(@"Click!");
PostMouseEvent(kCGMouseButtonLeft, kCGEventLeftMouseDown, point);
PostMouseEvent(kCGMouseButtonLeft, kCGEventLeftMouseUp, point);
}
Ahora, yo estoy tratando de hacer clic abajo para poder arrastrar objetos, como una barra de desplazamiento o la ventana de una aplicación. Estoy usando el siguiente:
PostMouseEvent(kCGMouseButtonLeft, kCGEventMouseMoved, point);
NSLog(@"Click Down!");
PostMouseEvent(kCGMouseButtonLeft, kCGEventLeftMouseDown, point);
cuando me encontré con el código anterior algo interesante va a pasar, cuando el botón izquierdo del ratón hacia abajo es cuestión nada parece suceder, muevo el ratón y la ventana no se mueve, sin embargo cuando agregué un mouse up evento, la ventana saltó a la ubicación donde supuestamente lo arrastré. esto está algo bien, sin embargo, ¿cómo puedo hacer que el mouse haga clic y arrastrar un objeto?
Nota: Tengo un método completo para ver cuando el mouse deja de moverse para que pueda hacer clic.
por favor, escriba el código. Gracias
entonces, ummm, como, ¿cómo lo haces, lol. –
CGEventSetType (event, kCGEventLeftMouseDragged) – valexa