InjectTool.h中声明了
class InjectTool{
public:
InjectTool(char * name);
// 获得需要插入进程的ID
DWORD GetTargetProcessId(void);
// 将目标dll加载到内存中
UCHAR* LoadDllToMem(void);
// 获得远程线程入口地址
DWORD GetEnterPoint(PBYTE PImage);
// 用来完成修改重定位表的工作
void ReLoadImage(PBYTE pImage, PBYTE pRelocTbl, DWORD dwRelocOffset);
//指向映像NtHeader的指针
PIMAGE_NT_HEADERS PImageNtHeader;
// 需要加载的DLL文件的文件名和位置
char DllName[256];
// 用来输出错误信息并结束程序
int ErrorOut(char* ErrorReason);
// 最后处理开启远程线程所需的数据
void ConstructData(LPBYTE pImage, LPBYTE pInjectPos, PVOID* ppEntry, PVOID* ppParam);
};
在InjectTool.cpp中定义了这些函数。
要在Injecter.cpp用到这些函数怎么办 ?好像只是包含了InjectTool.h文件。
vc中几个cpp文件到底怎么回事?
帮帮忙 跪谢!

解决方案 »

  1.   

    在Injiecter.cpp文件中包含InjectTool.h 文件。直接使用InjectTool.h中声明的函数就可以。
      

  2.   

    cpp主要是实现在对应.h头文件中申明的函数
      

  3.   

    1.在Injecter.h中声明InjectTool类的对象:
    public:
     CInjectTool YourClassName;
    2.在Injecter.cpp的头文件中,加入
    #include "InjectTool.h"
    3.在要用到的地方直接用你定义的类名即可,比如要调用InjectTool(char * name)函数:
    YourClassName.InjectTool(char *name);
      

  4.   

    InjectTool.cpp包含了InjectTool.h文件就可以直接用这些函数了呀。
      

  5.   

    .h是头文件,一般用来进行类或者函数的声明,而.cpp是实现文件,一般用于类的实现或者函数的实现。头文件相当于一个接口,是用于联系使用者和实现者的统一协议或者规范