hZip = LoadLibrary("ZIP32J.DLL");
告诉我调用失败
我已经把ZIP32J.DLL放到system32文件夹了是不是就可以直接调用,还是需要注册一下在调用。还是LoadLibrary后面要写绝对路径?请各位指导一下

解决方案 »

  1.   

    hZip = LoadLibrary("ZIP32J.DLL"); 
    if(hZip == NULL)
    {
     DWORD dwError = GetLastError(); //看看具体的错误是什么
    }
      

  2.   

    可以考虑把“ZIP32J.DLL”放入当前工程目录下,再loadlibrary();
      

  3.   

    void main() {
    HINSTANCE  hZip = NULL;         
    PZip       Zip = NULL;          
    int        Result;
    char       buffer[819200],szCmdLine[1024];        hZip = LoadLibrary("ZIP32J.DLL");        if (hZip != NULL) { 
              Zip = (PZip)GetProcAddress(hZip, "Zip");
              if (Zip != NULL) {
                strcpy(szCmdLine, "-j \"c:\\testto\\test.zip\" ");  
    strcat(szCmdLine, "\"C:\\ZIPfrom\\*.*\"");  
                    Result = (*Zip)(NULL, szCmdLine, buffer, 819200);
      }
    FreeLibrary(hZip);
           }
    }
    然后出来个error警示框
    说can't load zip32.dll
      

  4.   

    我调用的事zip32j.dll
    他说不能调用zip32.dll我在有的机器上好用,有的就出error 
    同样的代码,zip32j.dll也考到system32下了
      

  5.   


    GetProcAddress之前要定义一个DLL导出库的函数指针,
    typedef (zip函数的返回值类型)(*FUNZIP)(zip函数的参数类型列表)
    FUNZIP fZip = (PZip)GetProcAddress(hZip, "Zip"); 
      

  6.   

    用绝对路径load.
    不带COM接口的load之后就可以用了。
    带COM接口的要注册的。