zoukankan
html css js c++ java
c#中通过设置钩子监视鼠标移动
这个问题来自论坛提问,C#的大致代码如下
using
System;
using
System.Windows.Forms;
using
System.Runtime.InteropServices;
namespace
WindowsApplication1
...
{
public
partial
class
Form1 : Form
...
{
public
Form1()
...
{
InitializeComponent();
}
private
void
Form1_Load(
object
sender, EventArgs e)
...
{
Win32Hook hook
=
new
Win32Hook();
hook.onMouseChange
+=
new
EventHandler(hook_onMouseChange);
hook.SetHook();
}
void
hook_onMouseChange(
object
sender, EventArgs e)
...
{
this
.Text
=
Cursor.Position.ToString();
}
}
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
;
}
}
}
查看全文
相关阅读:
Linux下面编译安装ffmpeg
Fidder简单使用方法(HTTPS抓取和url替换)
关于一下个阶段的计划
JAVA的随机的字符串的封装(基本上够用了)
Shell Script中的间接变量引用
进程概念
int main(int argc, char *argv[])的解读
存储数组数据到SharedPreferences
C语言中的基本声明
C中关于指针数组的用法
原文地址:https://www.cnblogs.com/cl1024cl/p/6204956.html
最新文章
密码保护
完成个人中心—导航标签
个人中心标签页导航
评论列表显示及排序,个人中心显示
从首页问答标题到问答详情页
笔记
shell笔记
linux下的时间同步
shell学习[笔记]
概念
热门文章
配置出现的一些提示
小实验
perl学习
零散
python的函数参数基础(一)(可能和别人讲的不一样,稍微深入一点)
开篇随感
Docker 基础使用方法(四) Docker镜像的本地导入导出
Docker 基础使用方法(三) Dockerfile基础和构建镜像
Docker 基础使用方法(二) 删除和查询
Docker 基础使用方法(一) 配置仓库 运行镜像
Copyright © 2011-2022 走看看