私がやろうとしているのは、アイテムにカーソルを合わせてマウスクリックをトリガーすることです。マウスがアイテム/ボタン/フォルダに十分長く留まると、マウス クリックがトリガーされます。マウスクリックのトリガー部分を実行しました。ここでの問題は、マウス カーソルがまだ同じアイテム上にあるのか、それともアイテムの外に出たのかを検出することです。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));
}