如果我要封装系统dll中的函数和数据结构,我怎样才能够得到这些信息呢?比如我要封装maip32.dll中的函数,我就要知道给我们提供了一些什么函数?他所定义的数据结构是什么?否则我怎么能够封装呢?
解决方案 »
- 关于MSI文件无法在WIN98中安装的问题
- 控件透明问题,急要,,,,,,
- MFC中同步问题 用信号量
- 两个关于更换用户头像的问题
- 关于窗口显示区域的问题
- 2个可能简单可能不简单的问题,请指教!!!
- 将字符串转换unicode后,不能textout输出,怎么解决?
- 已知窗口的句柄是一个unsigned int, 请问如何转换成HWND,然后可以通过CWnd的FromHandle函数获得一个CWnd对象?
- 如何编写一个程序,使我可以用对话框注册新浪会员?
- 数值型8位.字符型12位)的内容在一系统中写入文件(无后缀,不知类型),用记事本打开,字符型照常显示(12位),数值型显示为一个汉字乱码,那位有这方面经验?怎样取得整形字段的原内容?
- 唵是学VB的,想学VC解决一些问题,帮个忙,进来看一下好吗?
- 请问VC 6.0企业版和专业版有哪些区别?
.
.
.
.
.
在调用该DLL端申明成这样__declspec(dllimport) int a(,,,,,,); 所以有时候为了简单,叫DLL端和调用端共用一个头文件
下面是个全局钩子DLL头文件的例子
在DLL端设置一环境变量HOOK_EXPORTS,这样就可以根据不同环境(DLL端和调用端)用不同的定义了。
#ifdef HOOK_EXPORTS
#define HOOK_API __declspec(dllexport)
#else
#define HOOK_API __declspec(dllimport)
#endif
HOOK_API MOUSEHOOKSTRUCT b;
// HOOK_API MOUSEHOOKSTRUCT getpoint();
HOOK_API BOOL EnableMouseProcCapture();
HOOK_API BOOL DisableMouseProcCapture();
// This class is exported from the HOOK.dll
class HOOK_API CHOOK {
public:
CHOOK(void);
// TODO: add your methods here.
};extern HOOK_API int nHOOK;HOOK_API int fnHOOK(void);