如何检查鼠标点击位置是否在所需的应用程序上?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查鼠标点击位置是否在所需的应用程序上?相关的知识,希望对你有一定的参考价值。

我知道使用API​​ GetCursorPos和应用程序句柄(HWND)的鼠标单击位置。

如何检查此应用程序上的鼠标点击位置?

我的看法:

  • 从其句柄中获取应用程序的边界框。 (GetWindowRect(hWnd, &rect);
  • 检查光标位置是否在此边界框中。 (PtInRect(&rect, p)

如果窗口重叠,这不起作用。

答案

我们知道目标屏幕句柄的手柄和点击光标位置:

// hWnd : Already known windows handle

GetCursorPos(&p);
HWND hWndFromPoint = WindowFromPoint(p);

// If the handle got from click point is child of the desire window means it is clicked on the desire window itself.
if (IsChild(hWnd, hWndFromPoint))
{
    // Do something on Mouse click 
}

以上是关于如何检查鼠标点击位置是否在所需的应用程序上?的主要内容,如果未能解决你的问题,请参考以下文章

如何在运行应用程序的系统上检查所需的 Windows API 功能是不是可用?

如何检查是不是已应用 MPI 运行所需的所有先决条件?

htaccess for laravel 在所需文件夹中

仅适用于 iPad Wifi 所需的设备功能

应用程序在后台时如何检查位置?

如何在地图上拖动鼠标进行导航?