1

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

0 に答える 0