



HHOOK SetWindowsHookEx( int idHook,//安装的钩子类型 HOOKPROC lpfn,//钩子过程,如果dwThreadId为0,或者指字了一个其它进程创建线程,那么参数lpfn必须指向一个位于某动态链接库中的钩子过程 HINSTANCE hMod,//指向钩子过程所在的DLL句柄,如参数dwThreadId指定的线程由当前进程创建,则设为NULL DWORD dwThreadId//指定与钩子过程相关的线程标识,如果为0与桌面上所有的线程都相关 );




以VS2008下的一个Demo为例
一、新建立MFC DLL
有三种DLL类型
1、使用共享MFC DLL 的规则DLL
2、带静态链接MFC的规则 DLL
3、MFC扩展DLL
当然还有两个附加功能
自动化跟Windows套接字…这两个附加功能…看意思也能知道个大概了
那么1、2和3三种DLL有什么区别呢?
第一种是创建一个常规的动态链库,该DLL使用共享MFC DLL。当发布该DLL产品时,一定要确保用户机器上有MFC动态链接库,否则该DLL不能被加载!而第二种在发布该DLL时不需要,但文件会比较大,第三种可以导出MFC类,而MFC常规DLL只能导出自己编写的DLL
下面为一个DLL事例
/************************************************************************/
/*如果此 DLL 相对于 MFC DLL 是动态链接的,
则从此 DLL 导出的任何调入
MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到
该函数的最前面。 */
/************************************************************************/
复制代码extern”C”_declspec(dllexport)int Add(int a,int b)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return a+b;
}
extern”C” 是为了解决名字改编问题 注意C一定要大写
目的就是希望DLL在编译时,导出的函数名称不要发生改变。
如果有VC6.0的环境可以用VC安装目录bin目录下的dumpbin查看
命含有 dumpbin -exports *.dll
*.dll为你要查看的DLL文件名
加载DLL时有两种方法
我这里只讲显式加载
复制代码void CDemoTestDllDlg::OnBnClickedButtonSum()
{
HINSTANCE hIst;
hIst=LoadLibrary(L”TestDll.dll”);//获取DLL的地址
if (!hIst)
{
MessageBox(L”不能加载DLL”);
}
typedef int ( *GetAdd)(int x,int y);
GetAdd Add=(GetAdd)GetProcAddress(hIst,”Add”);//得到函数的地址
if (!Add)
{
MessageBox(L”获取函数地址失败”);
}
CString str=L”";
int_sum=Add(5,8);
str.Format(L”5+8=%d”,int_sum);
MessageBox(str);
}








SecureCRT SSH连接器
注意设置字体
否则可能会不能显示中文会出现乱码
带注册码




1999年,IBM提出普适计算(又叫普及计算)的概念。所谓普适计算指的是,无所不在的、随时随地可以进行计算的一种方式;无论何时何地,只要需要,就可以通过某种设备访问到所需的信息。普适计算的含义十分广泛,所涉及的技术包括移动通信技术、小型计算设备制造技术、小型计算设备上的操作系统技术及软件技术等。 More »




Eping的网络日志旧版仍然有效!
网址为http://old.eping.net




用了好几个blog系统了,感觉还是这个最喜欢,不仅因为他有强大的编辑器,而且用户帐号权限也控制得很好。。外观皮肤也有很多选择。。。总之蛮喜欢的。。有时间好好改一下。。更适合自己的。。更有自己风格的!




|
标题:VS2008 PRO 、WDK 和DDKWizard搭建Vista驱动开发环境
作者:eping Email:eping@msn.cn 时间:2009.2.12 说明:pediy 有篇VS2008、DDK XP和DDKWizard搭建驱动开发环境的文章。作者为bleyes ,本人在搭建vista驱动开发环境时遇到了些问题..故对其再做一些总结….希望后来的读者遇到有跟我同样的问题时能少走弯路…….在此向前作者表示感谢! 一、安装VS2008(我用的是英文专业版其实中英文版都没什么很大区别) More » ![]()
![]() ![]() ![]() Eping的网络日志又开通了……… ![]()
![]() More Options ...![]()
![]()
Change Theme...
![]() |
|---|