0

有人可以帮助我并给我一个例子/想法吗?

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

它需要是适用于所有 Windows 版本的解决方案,因此请发挥创意。

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

谢谢

4

2 回答 2

0

正如您没有指定的那样,我假设您使用的是 Win Forms。要捕获悬停,只需订阅 OnMouseHover 事件,例如

yourLinkLabel.MouseHover += yourLinkLabel_MouseHover;

...

private void yourLinkLabel_MouseHover(object sender, EventArgs e)
{
   MessageBox.Show("You are standing on link");
}
于 2013-08-09T13:13:47.073 回答
0

这带有我的官方“在我的机器上工作”的批准印章。这可能对你不起作用,我完全是猜测。话说回来:

[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);
}
于 2013-08-09T15:47:17.183 回答