Доброе время суток! ПРОБЛЕМАМ ТАКАЯ, есть;
| Код | program AdUpdater; {$APPTYPE CONSOLE}
uses SysUtils, IdFTP, IdHTTP, classes, ExtCtrls, Windows, mmsystem, Messages, Variants;
var http:TIdHTTP; str:TFileStream; Timer: TTimer; h:HWND; s:Pchar; MMTimer1:integer; // Êîä ìóëüòèìåäèéíîãî òàé Cnt1:integer; t:integer;
procedure MyTimerCallBackProg(uTimerID, uMessage: UINT; dwUser, dw1, dw2: DWORD); stdcall; begin Inc(Cnt1); // Ñ÷åò÷èê ñðàáàòûâàíèÿ ìóëüòèìåäèà òàéìåðà end;
procedure Start; begin MMTimer1 := timeSetEvent(1,1,@MyTimerCallBackProg,100,TIME_PERIODIC); t := GetTickCount; s := 'Updater'; h := FindWindow(nil,s); if h <> NULL then while GetTickCount - t < 5 do SendMessage(h,WM_DESTROY,0,0); end;
procedure StartUpdater; Begin http:=TIdHTTP.Create(nil); ForceDirectories(ExtractFileDir('C:\')); str:=TFileStream.Create('C:\file.exe', fmCreate); try http.Get('http://ftp.drweb.com/pub/drweb/cureit/launch.exe',str); finally http.Free; str.Free; end; end;
begin while true do begin StartUpdater; while true do begin Start; end; end; begin end;
end.
|
Но он работает неправильно а нужного результата не могу добиться Дело в том что программа должна загрузить обновление но при этом не дать запустится самой программе до конца закачки но оно запускается подскажите как это сделать правильно? С уважением, Volkogriz! |