MyException - 我的异常网
当前位置:我的异常网» VC/MFC » 关于MFC Extension dll的一个有关问题,自己弄了一

关于MFC Extension dll的一个有关问题,自己弄了一天了,也没有成功,希望各位大家帮忙,小弟跪谢了,真的是已经差了很多资料了,小弟

www.MyException.Cn  网友分享于:2013-01-31  浏览:7次
关于MFC Extension dll的一个问题,自己弄了一天了,也没有成功,希望各位大家帮忙,小弟跪谢了,真的是已经差了很多资料了,小弟在线等!
1.工程名字:Mousehook.
2.添加头文件:Mousehook.h,代码如下:
class AFX_EXT_CLASS CMouseHook: public CObject
{
public:
CMouseHook();
virtual ~CMouseHook();
public:
BOOL StartHook(HWND hWnd);
BOOL StopHook();

}
3.修改Mousehook.cpp文件。
添加头文件:"Mousehook.h".
定义各类句柄:
#pragma data_seg("mydata")
 HWND glhPrevTarWnd=NULL;
 HWND glhDisplayWnd=NULL;
 HHOOK glhHook=NULL;
 HINSTANCE glhInstance=NULL;
#pragma data_seg()
全局函数声明:
HWND XYZWindowFromPoint(HWND hwndParent,
POINT point,
UINT uFlags=CWP_SKIPINVISIBLE
);
LRESULT CALLBACK MouseProc(int nCode,WPARAM wparam, LPARAM lparam)
{
LPMOUSEHOOKSTRUCT pMouseHook=(MOUSEHOOKSTRUCT FAR *)lparam;
if(nCode>=0)
{
HWND glhTargetWnd=XYZWindowFromPoint(NULL,pMouseHook->pt);
if(glhTargetWnd!=glhPrevTarWnd)
{
char szCaption[256];
GetWindowText(glhTargetWnd,szCaption,100);
if(IsWindow(glhDisplayWnd))
{
SendMessage(glhDisplayWnd,
WM_SETTEXT,
0,
(LPARAM)(LPCTSTR)szCaption);
}
glhPrevTarWnd=glhTargetWnd;

}
}
return CallNextHookEx(glhHook,nCode,wparam,lparam);
}


4.安装钩子函数:
BOOL CMouseHook::StartHook(HWND hWnd)
{
BOOL bResult=FALSE;
glhHook=SetWindowsHookEx(WH_MOUSE,
MouseProc,
glhInstance,
0);
if(glhHook!=NULL)
{
bResult=TRUE;
}
glhDisplayWnd=hWnd;
return bResult;


}
卸载钩子函数:
BOOL CMouseHook::StopHook()
{
BOOL bResult=FALSE;
if(glhHook)
{
bResult=UnhookWindowsHookEx(glhHook);
if(bResult)
{
glhPrevTarWnd=NULL;
glhDisplayWnd=NULL;
glhHook=NULL;

}
}
return bResult;

}
窗口函数实现代码:
HWND XYZWindowFromPoint(HWND hwndParent,
POINT point,
UINT uFlags
)
{
if(hwndParent!=NULL)
{
return ::ChildWindowFromPointEx(hwndParent,point,uFlags);
}
RECT rect,rectSearch;
HWND pWnd,hWnd,hSearchWnd;
hWnd=::WindowFromPoint(point);
if(hWnd!=NULL)
{
::GetWindowRect(hWnd,&rect);
pWnd=::GetParent(hWnd);
if(pWnd!=NULL)
{
hSearchWnd=hWnd;
do
{
hSearchWnd=::GetWindow(hSearchWnd,GW_HWNDNEXT);
::GetWindowRect(hSearchWnd,&rectSearch);
if(::PtInRect(&rectSearch,point)&& ::GetParent(hSearchWnd)==
pWnd && ::IsWindowVisible(hSearchWnd))
{
if(((rectSearch.right-rectSearch.left)*
(rect.bottom-rect.top))<((rect.right-rect.left)*(rect.bottom-rect.top)))
{
hWnd=hSearchWnd;
::GetWindowRect(hWnd,&rect);
}
}
}while(hSearchWnd!=NULL);
}


}
return hWnd;
}



下面是编译时出现的错误:MouseHook.cpp
D:\MouseHook\MouseHook.cpp(10) : error C2628: 'CMouseHook' followed by 'char' is illegal (did you forget a ';'?)
D:\MouseHook\MouseHook.cpp(10) : error C2538: new : cannot specify initializer for arrays
D:\MouseHook\MouseHook.cpp(48) : error C2665: 'new' : none of the 3 overloads can convert parameter 2 from type 'class CMouseHook []'
Error executing cl.exe.

MouseHook.dll - 3 error(s), 0 warning(s)


希望各位大侠一定要帮忙,小弟多谢了先,我用的是VC6.0,最好给我做个工程,给我发个完整的工程,谢谢了。只要这么多分全给了,我的邮箱是AndyLi_gang@126.com
 小弟在线等。




























------解决方案--------------------
编译器都给了你足够的提示 还有什么? 自己Debug吧
------解决方案--------------------

文章评论

总结2014中国互联网十大段子
总结2014中国互联网十大段子
鲜为人知的编程真相
鲜为人知的编程真相
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
 程序员的样子
程序员的样子
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
老程序员的下场
老程序员的下场
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
中美印日四国程序员比较
中美印日四国程序员比较
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员和编码员之间的区别
程序员和编码员之间的区别
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
漫画:程序员的工作
漫画:程序员的工作
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
编程语言是女人
编程语言是女人
每天工作4小时的程序员
每天工作4小时的程序员
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
一个程序员的时间管理
一个程序员的时间管理
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
我的丈夫是个程序员
我的丈夫是个程序员
代码女神横空出世
代码女神横空出世
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
如何成为一名黑客
如何成为一名黑客
Java程序员必看电影
Java程序员必看电影
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员的鄙视链
程序员的鄙视链
我是如何打败拖延症的
我是如何打败拖延症的
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
那些争议最大的编程观点
那些争议最大的编程观点
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
10个调试和排错的小建议
10个调试和排错的小建议
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序员必看的十大电影
程序员必看的十大电影
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有