сделать dll из c ++ в dev-Stack Overflow

Я пытался скомпилировать dll этой функции c ++ в течение 2 дней, к сожалению, безуспешно. Смотрел около 8 видео на YouTube, и все коды выглядели по-разному в каждом видео. Смутился с этим.

Все, что я хочу, — это DLL, которую я могу вызвать в своем скрипте autohotkey для создания событий мыши или клавиатуры (так как ahks mouse&КБ не работает на всех типах окон).

Если вы знаете, как сделать это в Dev-C ++ или получили какие-либо советы, я был бы благодарен, спасибо.

POINT getCurrentPos(HWND hwnd)
{
POINT cpos;
GetCursorPos(&cpos);
ScreenToClient(hwnd, &cpos);
return(cpos);
}

void rightClick(HWND hWindow, POINT k)
{
POINT currentPos = getCurrentPos(hWindow);
DWORD coordinates = MAKELPARAM(k.x, k.y);
PostMessage(hWindow, WM_MOUSEMOVE, 0, coordinates);
PostMessage(hWindow, WM_RBUTTONDOWN, MK_RBUTTON, coordinates);
PostMessage(hWindow, WM_MOUSEMOVE, MK_RBUTTON, coordinates);
PostMessage(hWindow, WM_RBUTTONUP, 0, coordinates);
coordinates = MAKELPARAM(currentPos.x, currentPos.y);
PostMessage(hWindow, WM_MOUSEMOVE, 0, coordinates);
}

void leftClick(HWND hWindow, POINT k)
{
POINT currentPos = getCurrentPos(hWindow);
DWORD coordinates = MAKELPARAM(k.x, k.y);
PostMessage(hWindow, WM_MOUSEMOVE, 0, coordinates);
PostMessage(hWindow, WM_LBUTTONDOWN, MK_LBUTTON, coordinates);
PostMessage(hWindow, WM_MOUSEMOVE, MK_LBUTTON, coordinates);
PostMessage(hWindow, WM_RBUTTONUP, 0, coordinates);
coordinates = MAKELPARAM(currentPos.x, currentPos.y);
PostMessage(hWindow, WM_MOUSEMOVE, 0, coordinates);
}

void dragDrop(HWND hWindow, POINT from, POINT to)
{
POINT currentPos = getCurrentPos(hWindow);
DWORD coordinates = MAKELPARAM(from.x, from.y);
PostMessage(hWindow, WM_MOUSEMOVE, 0, coordinates);
PostMessage(hWindow, WM_LBUTTONDOWN, MK_LBUTTON, coordinates);
coordinates = MAKELPARAM(to.x, to.y);
PostMessage(hWindow, WM_MOUSEMOVE, MK_LBUTTON, coordinates);
PostMessage(hWindow, WM_LBUTTONUP, 0, coordinates);
coordinates = MAKELPARAM(currentPos.x, currentPos.y);
PostMessage(hWindow, WM_MOUSEMOVE, 0, coordinates);
}

void KeyUp(HWND hwnd, int vk_key)
{
PostMessage(hwnd, WM_KEYUP, vk_key, (MapVirtualKey(vk_key, MAPVK_VK_TO_VSC)) * 0x10000 + 0xC0000000 + 1);
}

void KeyDown(HWND hwnd, int vk_key)
{
PostMessage(hwnd, WM_KEYDOWN, vk_key, (MapVirtualKey(vk_key, MAPVK_VK_TO_VSC)) * 0x10000 + 1);
}

void KeyPress(HWND hwnd, int vk_key)
{
KeyDown(hwnd, vk_key);
KeyUp(hwnd, vk_key);
}

0

Решение

Я думаю, вам нужно использовать dllexport, dllimport

https://msdn.microsoft.com/en-us/library/3y1sfaz2.aspx

0

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

Других решений пока нет …

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