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
;
}
}
}
查看全文
相关阅读:
使用python,将excel数据批量导入数据库
微信小程序开发之https服务器搭建三步曲
微信小程序开发简易计算器改进版
开发天气预报小程序
微信(公众号、小程序)开发
MVC--MVP?
10大基础实用算法及其讲解
初探Javascript魅力(1)
新项目UX设计0到1的正确开启方式
使用Postman模拟HTTP请求
原文地址:https://www.cnblogs.com/cl1024cl/p/6204956.html
最新文章
http协议、web服务器、并发服务器(上)
python正则表达式
python使用gevent实现并发下载器
python中的协程
python中的生成器
python迭代器
python文件夹copy器(多进程版)
python进程池
python进程间通信
python进程基础
热门文章
python网络聊天器多线程版
一张图入门QT设计器
pycharm配置PyQt5,以及创建第一个项目
windows7安装PyQt5(通过pip install 安装)
正则表达式入门与练习
windows下安装virtualenvwrapper之后workon不是内部或外部指令
windows7安装Scrapy
echo 转义字符的使用
Ubuntu下常用的快捷键
Ubuntu下使用tmux实现分屏,以及tmux快捷键
Copyright © 2011-2022 走看看