我想把资源理的文件拷贝给用户的目录下。

解决方案 »

  1.   

    不明白?怎么直接写啊?
    copyfile???好像不行。
      

  2.   

    我的一个ACTIVEX中的一个函数:把资源中文件写到客户计算机
    bool GetScreen::InstallDLL()
    {
    HGLOBAL hRes;
    HRSRC hResInfo;
    HINSTANCE hmm = g_instance;//NULL;//= AfxGetInstanceHandle();
    hResInfo = ::FindResource(hmm, (LPCSTR)IDR_DLL1, "DLL");
    hRes = ::LoadResource(hmm, hResInfo);   // Load it
    DWORD dFileLength = ::SizeofResource(hmm, hResInfo );  
    // cc.Format("hinfo:%d,hRes:%d,SizeofRES:%d,hm:%d", hResInfo, hRes, dFileLength, hmm);
    //创建DLL文件
    char pPath[MAX_PATH];
    GetSystemDirectory(pPath, MAX_PATH);
    char g_pFile[MAX_PATH];
    strcpy(g_pFile, pPath);
    strcat(g_pFile, "\\ijl10.dll");
    HANDLE hFile = CreateFile(g_pFile, GENERIC_WRITE | GENERIC_READ,
    FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
    DWORD dwNumberOfBytesWritten = 0;
    if(hFile > 0)
    WriteFile(hFile, (LPCVOID)hRes, dFileLength, &dwNumberOfBytesWritten, NULL);
    else
    {
    MessageBox(NULL, "加载Res不成功 ", "error", 0);
    CloseHandle(hFile);
    return false;
    }
    CloseHandle(hFile);
    return true;
    }