using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace HotelManage
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
void hook_onMouseChange(object sender, EventArgs e)
{
this.Text = Cursor.Position.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
Win32Hook hook = new Win32Hook();
hook.onMouseChange += new EventHandler(hook_onMouseChange);
hook.SetHook();
}
}
public class Win32Hook
{
[DllImport("kernel32")]
public static extern int GetCurrentThreadId();
[DllImport("user32", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern int SetWindowsHookEx(
HookType idHook,
HOOKPROC lpfn,
int hmod,
int dwThreadId);
public enum HookType
{
WH_GETMESSAGE = 3
}
public delegate int HOOKPROC(int nCode, int wParam, int lParam);
public event System.EventHandler onMouseChange;
public void SetHook()
{
SetWindowsHookEx(HookType.WH_GETMESSAGE,
new HOOKPROC(this.MyKeyboardProc),
0,
GetCurrentThreadId());
}
public int MyKeyboardProc(int nCode, int wParam, int lParam)
{
if (onMouseChange != null)
{
onMouseChange(null, null);
}
return 0;
}
}
}
c#中通过设置钩子监视鼠标移动
时间: 2024-10-31 11:22:43
c#中通过设置钩子监视鼠标移动的相关文章
Excel中如何设置鼠标经过时显示图片
要实现Excel表格中鼠标指向单元格就出现相关图片的互动效果,只要通过Excel2007的添加图片批注功能就可以轻松做到. 下面,我们以制作产品列表为例,展示具体的添加图片方法. 鼠标指向单元格,自动显示预设图片 单个添加图片 右击目标单元格,选择"添加批注",删除批注输入框中所有文字,接着鼠标移动到批注输入框的边线,当指针变成十字箭头时,单击鼠标右键选择"设置批注格式"→"颜色与线条" →"填充效果"→"图片&qu
鼠标点击坐标-在鼠标钩子中,如何实时获得鼠标的屏幕坐标?
问题描述 在鼠标钩子中,如何实时获得鼠标的屏幕坐标? 在鼠标钩子的WM_LBUTTONDOWN消息中,我想获得鼠标点击瞬间的坐标.注意,是鼠标点击瞬间. 我现在知道有两种方法 1.GET_X_LPARAM(lparam)和GET_Y_LPARAM(lparam). 这种方法获取的是相对于钩子的鼠标坐标,但是钩子不像窗体,没有自己的坐标吧.我获取到的坐标要么很大,要么是负数...然后我尝试用钩子句柄来转换,ClientToScreen((HWND)hMouseHook, &pt).得到的pt值也不
自己设置了一个鼠标钩子,然后点击获取窗口坐标,但是坐标不对。
问题描述 自己设置了一个鼠标钩子,然后点击获取窗口坐标,但是坐标不对. 自己设置了一个全局的鼠标钩子,然后触发点击获取窗口坐标,当点击在窗口外的时候,获取到窗口坐标是对的,但是点击在窗口里面的时候,获取的到的窗口坐标就不对了,好像是0,0.不知道什么原因,该怎么解决这个问题? 解决方案 获取鼠标点击的坐标处理 解决方案二: 刚才尝试过,我直接把窗口坐标设置成全局变量,也不点击一次获取一次了,然后再尝试,问题依旧.那么说,点击窗口外,是正常的,点击窗口内,获取的坐标就变成了零.这是为什么?
Windows中如何获取键盘和鼠标处于空闲状态的时间
本文配套源码 在编写程序的过程中,我遇到了这样的需求:在基于Windows 9x 或 Windows NT4.0 的程序中,要求确定键盘.鼠标处于空闲状态的时间.查询了有关资料文档以后,发现Windows 9x和Windows NT4.0 没有提供API或系统调用来实现这样的功能.但是,在Windows 2000中提供了一个新的函数:GetLastInputInfo(),这个函数使用结构 LASTINPUTINFO 作为参数:LASTINPUTINFO lpi; lpi.cbSize = siz
搜狗输入法中怎样设置自定义短语?
搜狗输入法中怎样设置自定义短语? 自定义短语功能可以实现自定义输出内容,例如打aa可以输出"搜狗输入法"等类似的样子,如图: 设置方法如下: 1.右键候选框或者状态栏--设置属性--高级--自定义短语,如图: 2.在缩写处:写你想输入的拼音串;候选位置处:选择输出内容在候选框的位置;内容处:输入你想输出的内容,如图: 以上,保存后就可以生效啦! 还有种方式是: 在任意地方打出缩写拼音,鼠标指在拼音处--选择添加短语即可,如图:
word2007中怎么设置首字下沉
word2007中怎么设置首字下沉 word2007设置首字下沉的步骤如下: 步骤一:首先,我们在word文档中输入一段文字,如图 步骤二:然后我们的目的是将这段文字的首字,也就是"我"字变成下沉的文字状态;这个时候我们将鼠标放置在"我"字前面,然后点击工具栏的"插入" 步骤三:在插入的下拉菜单中,我们选择右侧"文本"栏的"首字下沉" 步骤四:然后我们接着选择"首字下沉选项"如图 步
在word文档中怎么设置文字换行和分页?
在word文档中怎么设置文字换行和分页? 1.首先,在word文中,鼠标单击选择文字或者鼠标放在前段,也可以放在后端, 2.鼠标右键选择"段落",如图 3.弹出段落选项窗口,找到"换行和分页"选项卡,如图 4.有分页选择,看提示,如图 5.有行号和断字选择,如图 6.选择就勾勾好后,确定就可以了, 以上就是在word文档中怎么设置文字换行和分页方法介绍,操作很简单的,大家按照上面步骤进行操作即可,希望这篇文章能对大家有所帮助
Win7系统用户在局域网中共享设置方法
现在,一般的家庭有两三台电脑已经相当普遍,而其中的一些品牌笔记本,则可能已经升级安装了最新的Windows 7操作系统(以下简称Win 7).那么在这样的情况下,如何组建纯Win 7系统环境或Win 7与XP系统混合环境下的家庭局域网,又该如何设置文件共享呢?如果你也有同样的疑问,请详细查看本文当中介绍的方法,相信都可以迎刃而解. 两台电脑以上的局域网.WIN7操作系统 步骤/方法 右击桌面网络----属性----更改高级共享设置 (注释:查看当前网络 比如:家庭网络.公共网络 等!) "我这里
edius中怎么设置Alpha转场特效
1.新建一个工程文件,并导入两张静态图像. 2.在特效面板中找到"Alpha自定义图像转场效果". 3.选中"Alpha自定义图像"转场效果,按住鼠标左键将其拖动到两张素材图片之间. 4.选中添加到时间线上的"Alpha自定义图像"转场效果,单击鼠标右键,在弹出的右键菜单中选择"设置"选项. 5.弹出"Alpha自定义图像"对话框,如图所示. 6.点击"Alpha自定义图像"右侧的位