检查光标何时从箭头变为手动光标(链接手动光标)

本文关键字:光标 链接 何时 检查 | 更新日期: 2023-09-27 18:26:57

有人能帮我举个例子/想法吗?

我想确定用户何时站在链接上(光标从箭头变为点击手),何时会显示MessageBox.Show("You are standing on link");

它需要一个适用于所有版本的Windows的解决方案,所以请发挥创意。

前任。程序在后台运行(进程在循环中运行),当用户站在链接上时,任何软件(例如在IE浏览器中)都会自动弹出一个消息("你站在链接")

感谢

检查光标何时从箭头变为手动光标(链接手动光标)

由于您尚未指定,我假设您使用的是Win Forms。要捕获悬停,只需订阅OnMouseHover事件,例如

yourLinkLabel.MouseHover += yourLinkLabel_MouseHover;
...
private void yourLinkLabel_MouseHover(object sender, EventArgs e)
{
   MessageBox.Show("You are standing on link");
}

这是我的官方"在我的机器上工作"批准印章。这可能对你不起作用,完全是我的猜测。话虽如此:

[StructLayout(LayoutKind.Sequential)]
public struct CursorInfo {
    public int Size;
    public int Flags;
    public IntPtr Handle;
    public System.Drawing.Point Position;
}
public class NativeMethods {
    [DllImport("user32.dll")]
    public static extern bool GetCursorInfo(out CursorInfo info);
}

while (true) {
    CursorInfo info = new CursorInfo();
    info.Size = Marshal.SizeOf(info.GetType());
    if (NativeMethods.GetCursorInfo(out info)) {
        if (info.Handle.ToInt32() == 65571) {
            Console.WriteLine("Hand");
        }
    }
    System.Threading.Thread.Sleep(100);
}