我想要做的是通过将鼠标悬停在项目上来触发鼠标点击。如果鼠标在项目/按钮/文件夹上停留足够长的时间而没有离开,它将触发鼠标单击。我已经完成了鼠标点击触发部分。现在的问题是检测鼠标光标是否仍然在同一个项目上或已经离开它。我曾尝试使用 user32.dll 来提取信息,但它不适用于所有项目,例如文件夹中的项目和应用程序中的按钮。
[DllImport("user32.dll")]
static extern int GetDlgCtrlID(IntPtr hwndCtl);
[DllImport("user32.dll")]
static extern IntPtr WindowFromPoint(int xPoint, int yPoint);
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Ansi)]
static extern int GetClassName(IntPtr hWnd, System.Text.StringBuilder lpClassName, int nMaxCount);
public static int GetHoveredControlID(int xPoint, int yPoint)
{
return GetDlgCtrlID(WindowFromPoint(xPoint, yPoint));
}