有人可以帮助我并给我一个例子/想法吗?
我想确定用户何时站在链接上(光标从箭头变为点击手)以及何时发生MessageBox.Show("You are standing on link");
它需要是适用于所有 Windows 版本的解决方案,因此请发挥创意。
前任。程序在后台运行(进程在循环中运行),当用户站在链接上时(例如在 IE 浏览器中),它会自动弹出一条消息(“你站在链接上”)
谢谢
有人可以帮助我并给我一个例子/想法吗?
我想确定用户何时站在链接上(光标从箭头变为点击手)以及何时发生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);
}