http://www.installshield.com/solutions/internet_dist/


BOOL SaveImage(LPCTSTR szImgPath)
{
    CInternetSession   is;
    CInternetFile*     pif    = NULL;
    HANDLE             hFile  = NULL;

    pif = (CInternetFile*)is.OpenURL(szImgPath, 1, INTERNET_FLAG_TRANSFER_BINARY);
    if ( pif == NULL )
        return FALSE;

    CHAR szLocalFile[255];
    wsprintf(szLocalFile, "C:\\%s", pif->GetFileName());
    
    hFile = CreateFile(szLocalFile, GENERIC_WRITE, NULL, NULL, CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL);
    if ( hFile == INVALID_HANDLE_VALUE )
    {
        pif->Close();
        is.Close();
        return FALSE;
    }

    while(1)
    {
        INT    nRead        = 0;
        DWORD  dwWritten    = 0;
        CHAR   szBuffer[255];

        nRead = pif->Read(szBuffer, 255);
        if ( nRead == 0 )
            break;

        WriteFile(hFile, szBuffer, nRead, &dwWritten, NULL);
    }

    CloseHandle(hFile);
    pif->Close();
    is.Close();

    return TRUE;
}

+ Recent posts