这篇教程C++ CGEventPost函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中CGEventPost函数的典型用法代码示例。如果您正苦于以下问题:C++ CGEventPost函数的具体用法?C++ CGEventPost怎么用?C++ CGEventPost使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了CGEventPost函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: sendNativeMouseButtonEvent_QuartzQt::Native::Status sendNativeMouseButtonEvent_Quartz(const QNativeMouseButtonEvent &event){ CGPoint pos; pos.x = event.globalPos.x(); pos.y = event.globalPos.y(); CGEventType type = kCGEventNull; if (event.button == Qt::LeftButton) type = (event.clickCount > 0) ? kCGEventLeftMouseDown : kCGEventLeftMouseUp; else if (event.button == Qt::RightButton) type = (event.clickCount > 0) ? kCGEventRightMouseDown : kCGEventRightMouseUp; else type = (event.clickCount > 0) ? kCGEventOtherMouseDown : kCGEventOtherMouseUp; // The mouseButton argument to CGEventCreateMouseEvent() is ignored unless the type // is kCGEventOtherSomething, so defaulting to kCGMouseButtonLeft is fine. CGMouseButton mouseButton = (type == kCGEventOtherMouseDown || type == kCGEventOtherMouseUp) ? kCGMouseButtonCenter : kCGMouseButtonLeft; CGEventRef e = CGEventCreateMouseEvent(0, type, pos, mouseButton); setModifiersFromQNativeEvent(e, event); CGEventSetIntegerValueField(e, kCGMouseEventClickState, event.clickCount); CGEventPost(kCGHIDEventTap, e); CFRelease(e); return Qt::Native::Success;}
开发者ID:2gis,项目名称:2gisqt5android,代码行数:26,
示例2: CGEventCreateMouseEventbool GTMouseDriver::doubleClick() { QPoint mousePos = QCursor::pos(); CGEventType eventTypeMouseDown = kCGEventLeftMouseDown ; CGEventRef eventPress = CGEventCreateMouseEvent(NULL, eventTypeMouseDown, CGPointMake(mousePos.x(), mousePos.y()), 0 /*ignored*/); DRIVER_CHECK(eventPress != NULL, "Can't create event"); CGEventType eventTypeMouseUp = kCGEventLeftMouseUp ; CGEventRef eventRelease = CGEventCreateMouseEvent(NULL, eventTypeMouseUp, CGPointMake(mousePos.x(), mousePos.y()), 0 /*ignored*/); DRIVER_CHECK(eventRelease != NULL, "Can't create event"); CGEventPost(kCGSessionEventTap, eventPress); GTGlobals::sleep(0); // don't touch, it's Mac's magic CGEventPost(kCGSessionEventTap, eventRelease); GTGlobals::sleep(0); CGEventSetDoubleValueField(eventPress, kCGMouseEventClickState, 2); CGEventSetDoubleValueField(eventRelease, kCGMouseEventClickState, 2); CGEventPost(kCGSessionEventTap, eventPress); GTGlobals::sleep(0); // don't touch, it's Mac's magic CGEventPost(kCGSessionEventTap, eventRelease); GTGlobals::sleep(0); GTGlobals::sleep(100); CFRelease(eventPress); CFRelease(eventRelease); return true;}
开发者ID:ugeneunipro,项目名称:QSpec,代码行数:31,
示例3: doubleClick/** * Special function for sending double clicks, needed for Mac OS X. * @param button Button to click. */void doubleClick(MMMouseButton button){ #if defined(IS_MACOSX) /* Double click for Mac. */ const CGPoint currentPos = CGPointFromMMPoint(getMousePos()); const CGEventType mouseTypeDown = MMMouseToCGEventType(true, button); const CGEventType mouseTypeUP = MMMouseToCGEventType(false, button); CGEventRef event = CGEventCreateMouseEvent(NULL, mouseTypeDown, currentPos, kCGMouseButtonLeft); /* Set event to double click. */ CGEventSetIntegerValueField(event, kCGMouseEventClickState, 2); CGEventPost(kCGHIDEventTap, event); CGEventSetType(event, mouseTypeUP); CGEventPost(kCGHIDEventTap, event); CFRelease(event); #else /* Double click for everything else. */ clickMouse(button); microsleep(200); clickMouse(button); #endif}
开发者ID:bright-spark,项目名称:robotjs,代码行数:35,
示例4: ofGetElapsedTimeMillis//--------------------------------------------------------------void testApp::update(){ openNIDevice.update(); int holdTime = 300; currTime = ofGetElapsedTimeMillis(); if((currTime - keyTime) > holdTime && leftKeyFlag){ cout << "RELEASE LEFT KEY" << endl; CGEventRef b = CGEventCreateKeyboardEvent(NULL, 123, 0); CGEventPost(kCGHIDEventTap, b); leftKeyFlag = false; } if((currTime - keyTime) > holdTime && rightKeyFlag){ cout << "RELEASE RIGHT KEY" << endl; CGEventRef f = CGEventCreateKeyboardEvent(NULL, 124, 0); CGEventPost(kCGHIDEventTap, f); rightKeyFlag = false; } if((currTime - keyTime) > holdTime && upKeyFlag){ cout << "RELEASE UP KEY" << endl; CGEventRef d = CGEventCreateKeyboardEvent(NULL, 126, 0); CGEventPost(kCGHIDEventTap, d); upKeyFlag = false; } if (upKeyFlag == 1) { leftByRun = 1; rightByRun = 1; } else { leftByRun = 0; rightByRun = 0;}}
开发者ID:XinheF,项目名称:googlemap_of,代码行数:36,
示例5: KwmEmitKeystrokevoid KwmEmitKeystroke(modifiers Mod, std::string Key){ CGEventFlags Flags = 0; if(Mod.CmdKey) Flags |= kCGEventFlagMaskCommand; if(Mod.CtrlKey) Flags |= kCGEventFlagMaskControl; if(Mod.AltKey) Flags |= kCGEventFlagMaskAlternate; if(Mod.ShiftKey) Flags |= kCGEventFlagMaskShift; CGKeyCode Keycode; bool Result = GetLayoutIndependentKeycode(Key, &Keycode); if(!Result) Result = KeycodeForChar(Key[0], &Keycode); if(Result) { CGEventRef EventKeyDown = CGEventCreateKeyboardEvent(NULL, Keycode, true); CGEventRef EventKeyUp = CGEventCreateKeyboardEvent(NULL, Keycode, false); CGEventSetFlags(EventKeyDown, Flags); CGEventSetFlags(EventKeyUp, Flags); CGEventPost(kCGHIDEventTap, EventKeyDown); CGEventPost(kCGHIDEventTap, EventKeyUp); CFRelease(EventKeyDown); CFRelease(EventKeyUp); }}
开发者ID:JakimLi,项目名称:kwm,代码行数:31,
示例6: CGEventTypeForMouseButtonbool wxUIActionSimulator::MouseDblClick(int button){ CGEventType downtype = CGEventTypeForMouseButton(button, true); CGEventType uptype = CGEventTypeForMouseButton(button, false); wxCFRef<CGEventRef> event( CGEventCreateMouseEvent(NULL, downtype, GetMousePosition(), CGButtonForMouseButton(button))); if ( !event ) return false; CGEventSetType(event,downtype); CGEventPost(tap, event); CGEventSetType(event, uptype); CGEventPost(tap, event); CGEventSetIntegerValueField(event, kCGMouseEventClickState, 2); CGEventSetType(event, downtype); CGEventPost(tap, event); CGEventSetType(event, uptype); CGEventPost(tap, event); wxCFEventLoop* loop = dynamic_cast<wxCFEventLoop*>(wxEventLoop::GetActive()); if (loop) loop->SetShouldWaitForEvent(true); return true;}
开发者ID:70michal19,项目名称:dolphin,代码行数:28,
示例7: CGEventCreateKeyboardEventvoid UBKeyboardButton::sendControlSymbol(int nSymbol){ CGEventRef event1 = CGEventCreateKeyboardEvent(NULL, nSymbol, true); CGEventRef event2 = CGEventCreateKeyboardEvent(NULL, nSymbol, false); CGEventPost(kCGHIDEventTap, event1); CGEventPost(kCGHIDEventTap, event2);}
开发者ID:199901,项目名称:Sankore-3.1,代码行数:8,
示例8: SendStringvoid SendString(CFStringRef str, unsigned delayMS){ //virtual keycodes copied from 10.6 SDK. Could not find them in 10.4 SDK enum { VK_RETURN = 0x24 /*KVK_Return*/, VK_TAB = 0x30 /*kVK_Tab*/, VK_SPACE = 0x31/*kVK_Space*/}; //A list of chars for which we must specify the virtual keycode static const CFStringRef specialChars = CFSTR("/n/t "); static const UniChar verticalTab = CFStringGetCharacterAtIndex(CFSTR("/v"), 0); //each keycode must correspond to the correct char in 'specialChars' CGKeyCode specialKeyCodes[] = {VK_RETURN, VK_TAB, VK_SPACE }; assert(CFStringGetLength(specialChars) == NumberOf(specialKeyCodes)); for (unsigned i = 0, len = CFStringGetLength(str); i < len; ++i) { //The next char to send UniChar c = CFStringGetCharacterAtIndex(str, i); //throw away 'vertical tab' chars which are only used on Windows to send a shift+tab //as a workaround for some issues with IE if (verticalTab == c) continue; //see if we need to specify the virtual keycode for this char CGKeyCode vKey = 0; //0 = kVK_ANSI_A, but I don't know of a more appropriate default value for (size_t j = 0; j < NumberOf(specialKeyCodes); ++j) { if ( CFStringGetCharacterAtIndex(specialChars, j) == c) { vKey = specialKeyCodes[j]; break; } } CGEventRef keyDown = CGEventCreateKeyboardEvent(NULL, vKey, true); CGEventRef keyUp = CGEventCreateKeyboardEvent(NULL, vKey, false); if (keyDown && keyUp) { //may be we should not do this if we found the virtual keycode? CGEventKeyboardSetUnicodeString(keyDown, 1, &c); CGEventKeyboardSetUnicodeString(keyUp, 1, &c); CGEventPost(kCGSessionEventTap, keyDown); CGEventPost(kCGSessionEventTap, keyUp); pws_os::sleep_ms(delayMS); CFRelease(keyDown); CFRelease(keyUp); } else { if (keyDown) CFRelease(keyDown); if (keyUp) CFRelease(keyUp); pws_os::IssueError(_T("Out of memory trying to allocate CGEventRef")); return; } }}
开发者ID:Sp1l,项目名称:pwsafe,代码行数:57,
示例9: mainint main() { CGEventRef mkey = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)7, true); CGEventPost(kCGSessionEventTap, mkey); CFRelease(mkey); CGEventRef fkey = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)7, false); CGEventPost(kCGSessionEventTap, fkey); CFRelease(fkey); return 0;}
开发者ID:ippeb,项目名称:TetrisBattleBot,代码行数:10,
示例10: CGEventPostvoid UBKeyboardButton::sendUnicodeSymbol(KEYCODE keycode){ if (keycode.modifier) CGEventPost(kCGSessionEventTap, CGEventCreateKeyboardEvent(NULL, 56, true)); CGEventPost(kCGSessionEventTap, CGEventCreateKeyboardEvent(NULL, keycode.code, true)); CGEventPost(kCGSessionEventTap, CGEventCreateKeyboardEvent(NULL, keycode.code, false)); if (keycode.modifier) CGEventPost(kCGSessionEventTap, CGEventCreateKeyboardEvent(NULL, 56, false)); }
开发者ID:199901,项目名称:Sankore-3.1,代码行数:10,
示例11: sendPressvoid sendPress(int kc) { CGEventSourceRef src = NULL;// CGEventSourceCreate(kCGEventSourceStateHIDSystemState); CGEventRef down, up; down = CGEventCreateKeyboardEvent(src,(CGKeyCode)kc, true); up = CGEventCreateKeyboardEvent(src,(CGKeyCode)kc, false); CGEventPost(kCGSessionEventTap, down); CGEventPost(kCGSessionEventTap, up); CFRelease(down); CFRelease(up);}
开发者ID:naveenarun,项目名称:Practice_Projects,代码行数:13,
示例12: CGEventSourceCreatevoid Utilities::PostKey(CGKeyCode key){ CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState); CGEventRef keyDown = CGEventCreateKeyboardEvent(source, key, TRUE); CGEventRef keyUp = CGEventCreateKeyboardEvent(source, key, FALSE); CGEventPost(kCGAnnotatedSessionEventTap, keyDown); CGEventPost(kCGAnnotatedSessionEventTap, keyUp); CFRelease(keyUp); CFRelease(keyDown); CFRelease(source);}
开发者ID:ichenjia,项目名称:LeapPoint,代码行数:14,
示例13: CGEventCreateMouseEventvoid XInputSimulatorImplMacOs::mouseMoveRelative(int x, int y){ int newX = this->currentX + x; int newY = this->currentY + y; if(newX < 0 || newX > this->displayX || newY < 0 || newY > this->displayY ) { std::cout << "mouse moved beyound screensize." << std::endl; return; } std::cout << "newx: " << newX << " newy: " << newY << std::endl; CGEventRef mouseEv = CGEventCreateMouseEvent( NULL, kCGEventMouseMoved, CGPointMake(newX, newY), kCGMouseButtonLeft); CGEventPost(kCGHIDEventTap, mouseEv); CFRelease(mouseEv); this->currentX = newX; this->currentY = newY;}
开发者ID:thisispoker,项目名称:alphapoker,代码行数:25,
示例14: mouseupvoid mouseup(char btn) { CGEventType eventType; CGMouseButton button; switch (btn) { case 'l': eventType = kCGEventLeftMouseDown; button = kCGMouseButtonLeft; break; case 'r': eventType = kCGEventRightMouseDown; button = kCGMouseButtonRight; break; case 'm': eventType = kCGEventOtherMouseDown; button = kCGMouseButtonCenter; break; default: eventType = kCGEventNull; break; } if (eventType != kCGEventNull) { CGEventRef event = CGEventCreateMouseEvent(NULL, eventType, mousePos(), button); CGEventPost(kCGHIDEventTap, event); CFRelease(event); }}
开发者ID:Aiur,项目名称:Airtab,代码行数:27,
示例15: CGEventCreateKeyboardEventvoid XInputSimulatorImplMacOs::keyUp(int key){ CGKeyCode keycode = key; CGEventRef commandUp = CGEventCreateKeyboardEvent(NULL, keycode, false); CGEventPost(kCGAnnotatedSessionEventTap, commandUp); CFRelease(commandUp);}
开发者ID:thisispoker,项目名称:alphapoker,代码行数:7,
示例16: CGEventCreateKeyboardEventbool pws_os::MacSimulateApplicationSwitch(unsigned delayMS){ enum { VK_CMD = 55, VK_TAB = 48 }; struct { CGKeyCode virtualKey; bool down; bool mask; } KeySequence[]={ {VK_CMD, true, true}, {VK_TAB, true, true}, {VK_TAB, false, true}, {VK_CMD, false, false} }; for (size_t idx = 0; idx < NumberOf(KeySequence); ++idx) { CGEventRef keystroke = CGEventCreateKeyboardEvent(NULL, KeySequence[idx].virtualKey, KeySequence[idx].down); if (keystroke) { if (KeySequence[idx].mask) { CGEventSetFlags(keystroke, kCGEventFlagMaskCommand); } CGEventPost(kCGSessionEventTap, keystroke); CFRelease(keystroke); pws_os::sleep_ms(delayMS); } else { return false; } } return true;}
开发者ID:wcremeika,项目名称:thesis,代码行数:31,
示例17: CGGetDisplaysWithPointbool MouseMac::moveMouseTo(int x, int y){ UInt32 maxDisplays = 4; CGDirectDisplayID displayID[maxDisplays]; CGDisplayCount c = 0; CGDisplayCount *count = &c; CGGetDisplaysWithPoint( CGPointMake(x, y), maxDisplays, displayID, count); if (*count > 0) { CGEventRef mouseEv = CGEventCreateMouseEvent( NULL, kCGEventMouseMoved, CGPointMake(x, y), kCGMouseButtonLeft); CGEventPost(kCGHIDEventTap, mouseEv); CFRelease(mouseEv); return true; } else { return false; }}
开发者ID:MichaelChansn,项目名称:RemoteControlServer,代码行数:26,
示例18: toggleKeyCodevoid toggleKeyCode(MMKeyCode code, const bool down, MMKeyFlags flags){#if defined(IS_MACOSX) CGEventRef keyEvent = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)code, down); assert(keyEvent != NULL); CGEventSetType(keyEvent, down ? kCGEventKeyDown : kCGEventKeyUp); CGEventSetFlags(keyEvent, flags); CGEventPost(kCGSessionEventTap, keyEvent); CFRelease(keyEvent);#elif defined(IS_WINDOWS) const DWORD dwFlags = down ? 0 : KEYEVENTF_KEYUP; /* Parse modifier keys. */ if (flags & MOD_META) WIN32_KEY_EVENT_WAIT(K_META, dwFlags); if (flags & MOD_ALT) WIN32_KEY_EVENT_WAIT(K_ALT, dwFlags); if (flags & MOD_CONTROL) WIN32_KEY_EVENT_WAIT(K_CONTROL, dwFlags); if (flags & MOD_SHIFT) WIN32_KEY_EVENT_WAIT(K_SHIFT, dwFlags); win32KeyEvent(code, dwFlags);#elif defined(USE_X11) Display *display = XGetMainDisplay(); const Bool is_press = down ? True : False; /* Just to be safe. */ /* Parse modifier keys. */ if (flags & MOD_META) X_KEY_EVENT_WAIT(display, K_META, is_press); if (flags & MOD_ALT) X_KEY_EVENT_WAIT(display, K_ALT, is_press); if (flags & MOD_CONTROL) X_KEY_EVENT_WAIT(display, K_CONTROL, is_press); if (flags & MOD_SHIFT) X_KEY_EVENT_WAIT(display, K_SHIFT, is_press); X_KEY_EVENT(display, code, is_press);#endif}
开发者ID:Deltatiger,项目名称:robotjs,代码行数:34,
示例19: moveMouse/** * Move the mouse to a specific point. * @param point The coordinates to move the mouse to (x, y). */void moveMouse(MMPoint point){#if defined(IS_MACOSX) CGEventRef move = CGEventCreateMouseEvent(NULL, kCGEventMouseMoved, CGPointFromMMPoint(point), kCGMouseButtonLeft); calculateDeltas(&move, point); CGEventPost(kCGSessionEventTap, move); CFRelease(move);#elif defined(USE_X11) Display *display = XGetMainDisplay(); XWarpPointer(display, None, DefaultRootWindow(display), 0, 0, 0, 0, point.x, point.y); XSync(display, false);#elif defined(IS_WINDOWS) //Mouse motion is now done using SendInput with MOUSEINPUT. We use Absolute mouse positioning #define MOUSE_COORD_TO_ABS(coord, width_or_height) (((65536 * coord) / width_or_height) + (coord < 0 ? -1 : 1)) point.x = MOUSE_COORD_TO_ABS(point.x, GetSystemMetrics(SM_CXSCREEN)); point.y = MOUSE_COORD_TO_ABS(point.y, GetSystemMetrics(SM_CYSCREEN)); INPUT mouseInput; mouseInput.type = INPUT_MOUSE; mouseInput.mi.dx = point.x; mouseInput.mi.dy = point.y; mouseInput.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE; mouseInput.mi.time = 0; //System will provide the timestamp mouseInput.mi.dwExtraInfo = 0; mouseInput.mi.mouseData = 0; SendInput(1, &mouseInput, sizeof(mouseInput));#endif}
开发者ID:aaron21007,项目名称:2016,代码行数:37,
示例20: convertAndSendVKvoid convertAndSendVK(PRUint8 vk, bool down) { CGKeyCode key = 0; // Hack usleep(100); switch (vk) { case SPACE: key = kVK_Space; break; case BKSP: key = kVK_Delete; break; case TAB: key = kVK_Tab; break; case ENTER: key = kVK_Return; break; case SHIFT: key = kVK_Shift; break; default: return; } CGEventRef event; CGEventSourceRef eventSource = CGEventSourceCreate(kCGEventSourceStateHIDSystemState); event = CGEventCreateKeyboardEvent (eventSource, key, down); CGEventPost(kCGHIDEventTap, event); CFRelease(eventSource); CFRelease(event);}
开发者ID:kitwood,项目名称:kylo-browser,代码行数:33,
示例21: CGEventCreateScrollWheelEventvoid XInputSimulatorImplMacOs::mouseScrollY(int length){ int scrollDirection = -1; // 1 down -1 up if(length < 0){ length *= -1; scrollDirection *= -1; } //length *= 100; for(int cnt = 0; cnt < length; cnt++){ std::cout << "scroll y mac" << std::endl; CGEventRef scrollEv = CGEventCreateScrollWheelEvent ( NULL, kCGScrollEventUnitLine, // kCGScrollEventUnitLine //kCGScrollEventUnitPixel 1, //CGWheelCount 1 = y 2 = xy 3 = xyz scrollDirection); // length of scroll from -10 to 10 higher values lead to undef behaviour CGEventPost(kCGHIDEventTap, scrollEv); CFRelease(scrollEv); //sleep(1); }}
开发者ID:thisispoker,项目名称:alphapoker,代码行数:26,
示例22: keyretriggervoid keyretrigger(usbdevice* kb, int scancode){ CGEventRef kp = CGEventCreateKeyboardEvent(kb->event, scancode, 1); CGEventSetIntegerValueField(kp, kCGKeyboardEventAutorepeat, 1); CGEventSetFlags(kp, kb->eflags); CGEventPost(kCGHIDEventTap, kp); CFRelease(kp);}
开发者ID:TricksterGuy,项目名称:ckb,代码行数:7,
示例23: mainint main() { int keyCode = 49; //space bar srand ( time(NULL) ); printf("User input coming in 30 seconds/n"); sleep(27); printf("3.../n"); sleep(1); printf("2.../n"); sleep(1); printf("1.../n"); sleep(1); printf("NOW!"); while(1){ CGEventRef ourEvent = CGEventCreate(NULL); CGPoint point = CGEventGetLocation(ourEvent); CGEventRef click1_down = CGEventCreateMouseEvent( NULL, kCGEventLeftMouseDown, point, kCGMouseButtonLeft ); CGEventRef click1_up = CGEventCreateMouseEvent( NULL, kCGEventLeftMouseUp, point, kCGMouseButtonLeft ); CGEventPost(kCGHIDEventTap, click1_down); sleep(0.11); CGEventPost(kCGHIDEventTap, click1_up); CFRelease(click1_up); CFRelease(click1_down); CFRelease(ourEvent); sleep(0.89); if(rand() % 100 <= 2){ //2% chance CGEventRef e = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)keyCode, true); CGEventPost(kCGSessionEventTap, e); CFRelease(e); e = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)keyCode, false); CGEventPost(kCGSessionEventTap, e); CFRelease(e); } sleep(9); }}
开发者ID:jwhitehorn,项目名称:JWAuc,代码行数:47,
示例24: ScrollUpstatic inline void ScrollUp() { CGEventRef scroll = CGEventCreateScrollWheelEvent( NULL, kCGScrollEventUnitLine, 1, 4); CGEventPost(kCGHIDEventTap, scroll); CFRelease(scroll);}
开发者ID:shengyu7697,项目名称:SimpleComputerRemote,代码行数:8,
示例25: CGEventCreateMouseEventvoid MouseMac::rightMouseUp(){ CGEventRef mouseEv = CGEventCreateMouseEvent( NULL, kCGEventRightMouseUp, getCursorPositionCGPoint(), kCGMouseButtonRight); CGEventPost(kCGHIDEventTap, mouseEv); CFRelease(mouseEv);}
开发者ID:MichaelChansn,项目名称:RemoteControlServer,代码行数:9,
示例26: SendStringstatic inline void SendString(short theCode){ UniChar unicodeString[1]; unicodeString[0] = theCode; CGEventRef e = CGEventCreateKeyboardEvent(NULL, 0, true); CGEventKeyboardSetUnicodeString(e, 1, unicodeString); CGEventPost(kCGHIDEventTap, e); CFRelease(e);}
开发者ID:shengyu7697,项目名称:SimpleComputerRemote,代码行数:9,
示例27: MouseUpRight void MouseUpRight () { CGEventRef mouse_down = CGEventCreateMouseEvent( NULL, kCGEventRightMouseUp, MousePos(), kCGMouseButtonLeft ); CGEventPost(kCGHIDEventTap, mouse_down); CFRelease(mouse_down); }
开发者ID:arextar,项目名称:ghostjs,代码行数:9,
示例28: MouseMove void MouseMove (int x, int y) { CGEventRef move = CGEventCreateMouseEvent( NULL, kCGEventMouseMoved, CGPointMake(x, y), kCGMouseButtonLeft // ignored ); CGEventPost(kCGHIDEventTap, move); CFRelease(move); }
开发者ID:arextar,项目名称:ghostjs,代码行数:9,
注:本文中的CGEventPost函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ CGImageCreate函数代码示例 C++ CGEventCreateMouseEvent函数代码示例 |