HHOOK mousehook=NULL;
char c_temp[100];
CString s_type="";//用来保存属性LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam) 

    LRESULT RetVal = CallNextHookEx( mousehook, nCode, wParam, lParam );
    if(HC_ACTION==nCode && wParam==WM_LBUTTONDOWN) 
    {
        MOUSEHOOKSTRUCT  *mousehookstruct = (MOUSEHOOKSTRUCT  *) lParam;
        HWDN hwnd=mousehookstruct->hwnd;
        
        GetClassName(hwnd,c_temp,100);
        s_type=c_temp;
        //判断是不是按在了按钮上,是的话,取得其文字,保存在 c:\i.ini中
        if(-1!=s_type.Find("button",0))
        {
            if(1==::IsWindow(hwnd))
            {
                ::SendMessage(hwnd,WM_GETTEXT,(WPARAM)100,(LPARAM)c_temp);
                ::WritePrivateProfileString("fas","fa",c_temp,"c:\\i.ini");
            }
        }
    }
    return  RetVal;
}
bool start()
{
    //安装鼠标钩子
    mousehook = SetWindowsHookEx(WH_MOUSE,MouseProc,theApp.m_hInstance,0);
    if(mousehook==NULL)
    {
        return 0;
    }    return 1;
}
//我创建了一个普通的DLL,以上是我写的一个鼠标钩子的部分代码,很有问题。DLL运行以后,
//只要鼠标点在了按钮上,系统马上提示错误!终止运行!,我不知道为什么!