鱼C论坛

 找回密码
 立即注册
查看: 3462|回复: 11

花了一上午的时间想在vc下写个屏蔽鼠标的小程序,但总是屏蔽不了鼠标消息...

[复制链接]
发表于 2014-3-7 11:54:54 | 显示全部楼层 |阅读模式
1鱼币
小弟刚接触C不久,望指点...几行代码如下:

#include<stdio.h>
#include<windows.h>

LRESULT CALLBACK MouseProc(  
                           int nCode,      
                           WPARAM wParam,   
                           LPARAM lParam  
                          )
{
    return 1;
}

void main()
{
    SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,0);
}


最佳答案

查看完整内容

该hook要起作用必须在有调用GetMessage or PeekMessage的进程上下文中 看:http://msdn.microsoft.com/en-us/library/windows/desktop/ms644988(v=vs.85).aspx 也就说通常要注入到含有窗口的进程中。。。注入。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-7 11:54:55 | 显示全部楼层
该hook要起作用必须在有调用GetMessage or PeekMessage的进程上下文中
看:http://msdn.microsoft.com/en-us/library/windows/desktop/ms644988(v=vs.85).aspx
也就说通常要注入到含有窗口的进程中。。。注入。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-7 15:45:15 | 显示全部楼层

我下午到网上找了些关于注入的资料,自己写的代码如下:
首先创建动态链接库文件:
      Hook.cpp  :
#include<windows.h>
HHOOK g_hMouse;
LRESULT CALLBACK MouseProc(
                                                   int nCode,      // hook code
                                                   WPARAM wParam,  // message identifier
                                                   LPARAM lParam   // mouse coordinates
                                                   )
{
        return 1;
}
void SetHook()
{
        g_hMouse=SetWindowsHookEx(WH_MOUSE,MouseProc,GetModuleHandle("Hook"),0);
}

同目录下建一个Hook.def :
LIBRARY Hook
EXPORTS
SetHook  @2

另建控制台工程shubiao.cpp:

#include<stdio.h>
_declspec(dllimport) void SetHook();

void main()
{
        SetHook();
}
并且把动态链接库的Hook.dll文件复制到该目录,在工程->设置->链接里面添加了Hook.lib文件程序能编译成功,但是没能实现功能,无法锁住鼠标。。。望指教!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-7 16:28:38 | 显示全部楼层
ysm 发表于 2014-3-7 15:45
我下午到网上找了些关于注入的资料,自己写的代码如下:
首先创建动态链接库文件:
      Hook.cpp  :
...

该hook要起作用必须在有调用GetMessage or PeekMessage的进程上下文中

好吧。。→_→。。要用在调用了GetMessage 或 PeekMessage的进程中
你写的。。。主函数那个是控制台。。不是窗口程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-8 13:13:03 | 显示全部楼层
向往青莲 发表于 2014-3-7 16:28
该hook要起作用必须在有调用GetMessage or PeekMessage的进程上下文中

好吧。。→_→。。要用在调用了 ...

弱弱的问下:GetMessage or PeekMessage 应该放在哪用,小弟实在是试了好长时间都没弄出来....头皮都快抓破了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-8 14:40:14 | 显示全部楼层
本帖最后由 machimilk 于 2014-3-8 14:42 编辑

是要让鼠标死掉吗,看看这样符合你要求吗
MouseDie.rar (60.05 KB, 下载次数: 4)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-8 15:58:58 | 显示全部楼层
machimilk 发表于 2014-3-8 14:40
是要让鼠标死掉吗,看看这样符合你要求吗

我是要不带界面的基于Win32的应用程序来实现鼠标死掉,,,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-8 17:28:40 | 显示全部楼层
ysm 发表于 2014-3-8 13:13
弱弱的问下:GetMessage or PeekMessage 应该放在哪用,小弟实在是试了好长时间都没弄出来....头皮都快抓 ...

用vs创建一个窗口程序。。貌似默认的就有GetMessage(自己看下吗)  然后。。运行.....然后注入他。。。
顺便说一下。。。99%的带有界面的程序就有GetMessage or PeekMessage
比如说qq。。360.。。。rk。。。explorer。。。压缩包。。→_→
好吧。。玩笑开到这里。。。反正如果你是初学的话(ps: 肯定是初学。。)。。还是照着书弄。。不要自己研究。。
站在巨人肩上会看的更远。。言尽于此。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-8 18:10:48 | 显示全部楼层
向往青莲 发表于 2014-3-8 17:28
用vs创建一个窗口程序。。貌似默认的就有GetMessage(自己看下吗)  然后。。运行.....然后注入他。。。
顺 ...

恩恩,谢谢!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-8 18:55:32 | 显示全部楼层
ysm 发表于 2014-3-8 18:10
恩恩,谢谢!!!

不用客气   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-9 18:49:27 | 显示全部楼层
machimilk 发表于 2014-3-8 14:40
是要让鼠标死掉吗,看看这样符合你要求吗

鼠标锁死后,如何解开鼠标的锁定...?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-10 00:38:53 | 显示全部楼层
ysm 发表于 2014-3-9 18:49
鼠标锁死后,如何解开鼠标的锁定...?

原理就是下鼠标钩子全局的 解锁就是干掉自己的钩子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 21:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表