首页
社区
课程
招聘
[求助]求助关于鼠标钩子的问题(附源码)
发表于: 2009-8-31 17:16 4352

[求助]求助关于鼠标钩子的问题(附源码)

2009-8-31 17:16
4352
源码如下:
#include "stdafx.h"
#include "windows.h"
#include "fstream.h"

HHOOK g_hook = 0;
HINSTANCE g_Hinstance;
BOOL Start = TRUE;
bool WINAPI StopHook();

extern "C" __declspec(dllexport) LRESULT __stdcall /*CALLBACK*/ MouseHookProc(int nCode,WPARAM wParam, LPARAM lParam)
{
        if(nCode >= 0)
        {
               
                        if(Start)
                        {
                                Start = FALSE;
                                ofstream of("c:\\1.txt");
                                of<<"abcd"<<endl;
                                of.close();
                        }
        }
        return CallNextHookEx(g_hook,nCode,wParam,lParam);
}

BOOL WINAPI StartHook()
{
        if(g_hook != NULL)
        {
                return FALSE;
        }
        g_hook = SetWindowsHookEx(WH_MOUSE,MouseHookProc,g_Hinstance,NULL);
        if(g_hook == NULL)
        {
                ExitProcess(0);
        }
        return TRUE;
}
BOOL WINAPI StopHook()
{
        if(UnhookWindowsHookEx(g_hook) == 0)
        {
                return FALSE;
        }
        g_hook = NULL;
        return TRUE;
}
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
        // TODO: Place code here.
        g_Hinstance = hInstance;
        MSG msg;
        BOOL bRet;
        StartHook();
        while((bRet = GetMessage(&msg,NULL,0,0)) != 0)
        {
                if(bRet != -1)
                {
                        TranslateMessage(&msg);
                        DispatchMessage(&msg);
                }
                else
                {
                        TranslateMessage(&msg);
                        DispatchMessage(&msg);
                }
        }
        return 0;       
}

不能解决的问题:
该程序在cmd.exe下,输入程序名字回车运行可以在C盘下生成1.txt测试文件。

而双击运行或者其他的方式运行,不能在c盘下生成测试的1.txt文件。

恳请各位大侠指点指点,程序应该怎么改。。。

谢谢了

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 63
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
一个线程钩子,没有界面,收不到鼠标消息------〉应该是这样
2009-8-31 20:32
0
雪    币: 636
活跃值: (174)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
3
WH_MOUSE_LL
2009-9-2 09:28
0
雪    币: 366
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这是控制台程序么?
2009-9-2 15:18
0
雪    币: 157
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
WH_MOUSE_LL

可行

谢谢了。。。。。
2009-9-2 17:04
0
游客
登录 | 注册 方可回帖
返回
//