07.01.2011, 15:09
|
|
Продвинутый
|
|
Регистрация: 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 и т.д.
ЗЫ чаще юзай поиск.
__________________
Помогаю за Спасибо
|