#include "stdafx.h"
#include "windows.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[]){
int xPos = 0;
int yPos = 0;
SetCursorPos(xPos, yPos);
POINT pt = {xPos, yPos};
HWND hPointWnd = WindowFromPoint(pt);
SendMessage(hPointWnd, WM_RBUTTONDOWN, NULL, NULL);
SendMessage(hPointWnd, WM_RBUTTONUP, NULL, NULL);
cin.get();
return 0;
}
Программное управление мышью
Для начала написал вот такой код, но при выполнении программы не вижу всплывающего контекстного окна, где же я ошибся?
Код:
Спасибо за ответы.
Код:
#include <windows.h>
#include <stdio.h>
#include <winable.h>
int main(int argc, char* argv[])
{
int xPos = 50;
int yPos = 10;
xPos = (xPos * (65535 / GetSystemMetrics(SM_CXSCREEN)));
yPos = (yPos * (65535 / GetSystemMetrics(SM_CYSCREEN)));
// 0,0 - верхний левый угол, 65535,65535 - правый нижний угол, преобразовываем
INPUT inp[3];
memset(inp, 0, sizeof(inp));
inp[0].type = INPUT_MOUSE;
inp[0].mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE ; // движение мышки
inp[0].mi.dx = xPos;
inp[0].mi.dy = yPos;
inp[1].type = INPUT_MOUSE;
inp[1].mi.dwFlags = MOUSEEVENTF_RIGHTDOWN; // нажатие правой кнопки
inp[2].type = INPUT_MOUSE;
inp[2].mi.dwFlags = MOUSEEVENTF_RIGHTUP; // отпускание правой кнопки
SendInput(3, inp, sizeof(INPUT));
getchar();
return 0;
}
#include <stdio.h>
#include <winable.h>
int main(int argc, char* argv[])
{
int xPos = 50;
int yPos = 10;
xPos = (xPos * (65535 / GetSystemMetrics(SM_CXSCREEN)));
yPos = (yPos * (65535 / GetSystemMetrics(SM_CYSCREEN)));
// 0,0 - верхний левый угол, 65535,65535 - правый нижний угол, преобразовываем
INPUT inp[3];
memset(inp, 0, sizeof(inp));
inp[0].type = INPUT_MOUSE;
inp[0].mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE ; // движение мышки
inp[0].mi.dx = xPos;
inp[0].mi.dy = yPos;
inp[1].type = INPUT_MOUSE;
inp[1].mi.dwFlags = MOUSEEVENTF_RIGHTDOWN; // нажатие правой кнопки
inp[2].type = INPUT_MOUSE;
inp[2].mi.dwFlags = MOUSEEVENTF_RIGHTUP; // отпускание правой кнопки
SendInput(3, inp, sizeof(INPUT));
getchar();
return 0;
}
:-)))))
А вот почему SendMessage не работает?