Как проверить нажмите кнопку ручку C ++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как проверить нажмите кнопку ручку C ++?

Сообщение Anonymous »

Я использую глобальный крюк мыши (WH_MOUSE_LL) Чтобы обнаружить левую мышь, нажимая на конкретную кнопку в другом приложении. Обнаружение работает нормально при щелчке в основной области кнопки, но оно становится неточным, когда я нажимаю на границу кнопки.bool leftButtonDown = false;
HWND clickedHandle = nullptr;

LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode < 0)
{
return CallNextHookEx(nullptr, nCode, wParam, lParam);
}

auto pMouseStruct = reinterpret_cast(lParam);
if (pMouseStruct == nullptr)
{
return CallNextHookEx(nullptr, nCode, wParam, lParam);
}

switch (wParam)
{
case WM_LBUTTONDOWN:
leftButtonDown = true;
clickedHandle = WindowFromPoint(pMouseStruct->pt);
break;

case WM_LBUTTONUP:
if (leftButtonDown)
{
HWND releaseHandle = WindowFromPoint(pMouseStruct->pt);
if (clickedHandle == (HWND)0x00310716 && clickedHandle == releaseHandle)
{
std::cerr

Подробнее здесь: https://stackoverflow.com/questions/795 ... n-handle-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»