void CMainWidget::keyPressEvent(QKeyEvent *ptr_event) { switch (ptr_event->key()) { case Qt::Key_8: POINT pt; GetCursorPos(&pt); SetCursorPos(pt.x + 2, pt.y); break; case Qt::Key_0: { POINT pt; GetCursorPos(&pt); INPUT input; input.type = INPUT_MOUSE; input.mi.dx = static_cast(65535.0f / (GetSystemMetrics(SM_CXSCREEN) - 1) * pt.x); input.mi.dy = static_cast(65535.0f / (GetSystemMetrics(SM_CYSCREEN) - 1) * pt.y); //input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP; input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_RIGHTDOWN; SendInput(1, &input, sizeof(INPUT)); input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_RIGHTUP; SendInput(1, &input, sizeof(INPUT)); } break; default: break; } }