Отправка события клика в приложение Paint

Я пишу приложение, которое автоматически рисует что-то на холсте, в зависимости от предпочтений пользователя.
Для начала, как я могу отправить событие клика в приложение MS Paint?

-2

Решение

Для начала вам нужно найти приложение Paint:

static HWND findMSPaintDrawWindow(void)
{
HWND target;
target = FindWindow(TARGET_PAINT_WINDOW, NULL);
if (NULL != target)
{
target = FindWindowEx(target, NULL, TARGET_PAINT_INPUT_SUBWINDOW, NULL);

if (NULL != target)
{
target = FindWindowEx(target, NULL, NULL, NULL);
}
}

if (/*ENABLE_DEBUG_CONSOLE*/ 0)
{
char name[256];
GetClassName(target, name, 255);
printf("Detected ms paint Draw area with name [%s]\n", name);
}

return target;
}

Во-вторых, вы взаимодействуете с ним:

static void sendMouseButton(int buttonState)
{
HWND target;
UINT buttonMode = WM_LBUTTONUP;

target = findMSPaintDrawWindow();
if (target)
{
if (buttonState)
{
buttonMode = WM_LBUTTONDOWN;
g_MouseDown = 0;
}
printf("INFO: Mouse [%d] msg %d\n", buttonState, buttonMode);
PostMessage(target, buttonMode, MK_LBUTTON, X, Y));
}

}

Вы всегда можете просмотреть MSDN документация для более подробной информации.

0

Другие решения

Вы должны искать в Google, как отправить сообщение Windows в другое приложение. Щелчок мыши состоит из 2 разных сообщений: WM_LBUTTONDOWN и WM_LBUTTONUP.

http://stefanstools.sourceforge.net/SendMessage.html
http://www.codeproject.com/Articles/137/Sending-a-message-to-the-Main-Frame-Window-of-Anot

-2

По вопросам рекламы [email protected]