Ahoj, tak Mně tu máte zase, po tom co jsem se prokousal ctenim hodnoty z IDC_EDIT, zvladl jsem MultiThreaing
example
_beginthreadex( 0,0, &Updaterxxx, this, 0, 0 );
unsigned int __stdcall CProjectDlg::Updaterxxx( void * param )
{
}
jsem narazil na dalsi oříšek se kterým neumím hnout..
a to jak zobrazit progress stahování.. zkoušel jsem různý návody na to jak udělat progressbar ale asi jsem blbej.. úplně by mi stačilo kdyby to jako status vracelo
GetDlgItem(IDC_BUTTON4)->SetWindowTextA("Staženo xxx procent...");
nic víc nic míň.. ale prostě nejsem schopnej to zprovoznit.. pomůže mi někdo pěkně prosím?
funkce kterou používám pro stahování pochází odtud kdysi před několika lety mi tu s tím někdo pomohl:
BOOL DownloadFile(LPCTSTR lpUrl, LPCTSTR lpFileName, LPCTSTR lpAppName = TEXT("Loader"))
{
HINTERNET hInet = INVALID_HANDLE_VALUE;
HINTERNET hFile = INVALID_HANDLE_VALUE;
HANDLE hLocalFile = INVALID_HANDLE_VALUE;
BOOL WINAPI CleanupCredentialCache(void);
int nError = ERROR_SUCCESS;
if( nError == ERROR_SUCCESS )
{
hInet = InternetOpen(lpAppName,INTERNET_OPEN_TYPE_PRECONFIG,0,0,0);
if( hInet == INVALID_HANDLE_VALUE )
nError = GetLastError();
}
if( nError == ERROR_SUCCESS )
{
hFile = InternetOpenUrl(hInet,lpUrl,0,0,0,0);
if(hFile == INVALID_HANDLE_VALUE)
nError = GetLastError();
}
if( nError == ERROR_SUCCESS )
{
hLocalFile = CreateFile(lpFileName, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0);
if( hLocalFile== INVALID_HANDLE_VALUE )
nError = GetLastError();
}
if( nError == ERROR_SUCCESS )
{
DWORD dwBytesRead = 0;
BYTE buffer[2048];
while( InternetReadFile(hFile,buffer, sizeof(buffer), &dwBytesRead)==true && dwBytesRead != 0 )
WriteFile(hLocalFile, buffer, dwBytesRead, &dwBytesRead, 0);
}
if( hLocalFile )
CloseHandle(hLocalFile);
if( hFile != INVALID_HANDLE_VALUE )
InternetCloseHandle(hFile);
if( hInet != INVALID_HANDLE_VALUE )
InternetCloseHandle(hInet);
return (BOOL) nError == ERROR_SUCCESS;
}
volá se to :
char Adresa[]="http://www............./.../.../neco.koncovka";
DownloadFile(Adresa, "lokalni_soubor.koncovka")
nebyl by ani velký problém použít
URLDownloadToFile( NULL, string("http://www......we/neco.zip").c_str(), string("neco.zip").c_str(), 0, NULL);
Děkuji za radu nebo nějaký srozumitelný example..