C++-VC++编写OCX关于Ontimer和鼠标钩子的问题

Web程序数据库 Web程序数据库 主题:1214 回复:2505

C++-VC++编写OCX关于Ontimer和鼠标钩子的问题

灵芸 发布于 2017-08-27 字数 640 浏览 1102 回复 1

我用VC++6.0编辑一个IE插件,想实现把鼠标控制在固定区域内,以下是我实现的一些方式和问题:
1.编写了一个HOOK.DLL的全局鼠标钩子,再者用插件加载DLL。用VC自带的Activ&eX Control Test Container调试工具测试功能很OK,结果打包放在IE浏览器里使用没有效果,也没有报错,其他的功能正常。
2.第一种不行我又换了一种,采用定时器Ontimer实现。用调试工具测试很OK,但是放到IE浏览器却造成让IE崩溃的错误,所以这方式也失败了。
3.最后一种我采用创建一线程去执行鼠标控制,那是一个死循环,这个方式成功了,但是占用CPU的资源太多,双核近乎占了50%(1核)。好像又不是很理想。
望大侠们赐教,最好能解决1或2的方式。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(1

夜无邪 2017-08-28 1 楼

你想把鼠标限制在固定区域是指的什么?还有那个固定区域有没有窗口,如果有的话,可以用这个函数BOOL ClipCursor(CONST RECT * lpRect),可以先用FindWindow找到那个窗口。