例如,我有一个mys.dll的文件。我想把这个dll的文件加载到app.exe这个程序的进程里面,请问怎么做?

解决方案 »

  1.   

    app.exe的源代码中导入(#import),并在需要用的地方直接调用DLL导出的方法即可
      

  2.   

    看微软的detours里面的setdll例子。
      

  3.   

        //假如你Dll里有一个函数为:  int DllFunc(int,int);
        int            sum;
        typedef        int  (*TestFunc)(int,int);
        TestFunc       Calcsum;
        HINSTANCE      hLibrary;
        hLibrary = LoadLibrary(TEXT("Hello.dll"));//加载Hello.dll
        if(hLibrary)
        {
    Calcsum=(TestFunc)GetProcAddress(hLibrary,TEXT("DllFunc"));//获得DllFunc函数的地址
        }
        sum = Calcsum(3,8);//调用函数
        FreeLibrary(hLibrary);//释放hLibrary,注意,FreeLibrary调用后不能再调用Calcsum函数了,否则将会出现
                                 //内存访问出错的提示。
       //现在你可以试试
      

  4.   

    如果app.exe文件是你自己的,就加载,如果没源码就HOOK或者注入