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运行以后,
//只要鼠标点在了按钮上,系统马上提示错误!终止运行!,我不知道为什么!
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运行以后,
//只要鼠标点在了按钮上,系统马上提示错误!终止运行!,我不知道为什么!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货