Показать сообщение отдельно
  #4  
Старый 07.01.2011, 15:09
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Код:
uses Wininet; 

function GetInetFile(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
   Result:=False;
   sAppName := ExtractFileName(Application.ExeName);
   hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,
         nil, nil, 0);
   try
      hURL := InternetOpenURL(hSession,
      PChar(fileURL),nil,0,0,0);
      try
         AssignFile(f, FileName);
         Rewrite(f,1);
         repeat
            InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
            BlockWrite(f, Buffer, BufferLen)
         until BufferLen = 0;
         CloseFile(f);
         Result:=True;
      finally
      InternetCloseHandle(hURL)
      end
   finally
   InternetCloseHandle(hSession)
   end
end;
И само скачивание и запуск:
Код:
var FileOnNet, LocalFileName: string
begin
   FileOnNet:='http://www.xxxx.ru/progrm.exe';
   LocalFileName:='file.exe'; 

   if GetInetFile(FileOnNet,LocalFileName) then
      ShowMessage('Download successful')
   else
      ShowMessage('Error in file download') 

end; 
Скачает файл и поместит его в текущую папку.
Ну а запуск после скачивания WinExec, ShellExecute, CreateProcess и т.д.

ЗЫ чаще юзай поиск.
__________________
Помогаю за Спасибо
Ответить с цитированием