Текущий архив: 2005.09.04;
Скачать: CL | DM;
Вниз
Время загрузки Найти похожие ветки
← →
viper © (2005-07-14 16:34) [0]Моя программа запускает приложение например delphi32.exe как подсчитать время загрузки приложения?
← →
Чапаев © (2005-07-14 16:40) [1]А какой момент считать моментом окончания загрузки?
← →
BiN © (2005-07-14 16:44) [2]GetProcessTimes
← →
Viper © (2005-07-14 16:49) [3]Когда в программе можно что-то сделать или что-то в этом духе,
вернемся опять к delphi при запуске она грузиться (лично у меня ) где-то 10 сек. все это время я наблюдаю окно загрузки но во многих программах его нет, но они тоже грузяться какое-то время, так вот его мне и нужно узнать от момента запуска команды shellexecute и до момента полной загрузки приложения для начала его использование (во накрутил :) )
← →
Viper © (2005-07-14 16:50) [4]>BiN © (14.07.05 16:44) [2]
>GetProcessTimes
Спасибо, но можно какойнибудь пример с ее использованием?
← →
BiN © (2005-07-14 16:58) [5]Видимо, я неправильно понял твой вопрос. С помощью GetProcessTimes ты можешь узнать сколько времени прошло с момента создания процесса. Тебе же, очевидно, нужно нечто другое. Определись с понятиями "загрузка приложения" и что является признаком готовности приложения к "использованию".
← →
Viper © (2005-07-14 17:09) [6]>BiN ©
Запусти у себя на компе какую нибудь объемную прогу, ты можешь ею пользоваться (закрыть на худой конец мышкой по нажатию крестика) ты сможешь только тогда когда она загрузиться и будет готова к использованию, так? Так вот этот промежуток мне нужно посчитать в секундах.
← →
wal © (2005-07-14 17:14) [7]Я так понял, что это промежеток между запуском, и тем моментом, когда процесс начал обработку сообщений UI, вот когда выборка сообщений из очереди началась, тогда и используй GetProcessTimes. Но не факт, что между началам обработки сообщений, и непосредственно "возможности юзера работать", что-то еще весьма долгое не будет выполняться.
С уважением.
← →
Alexander Panov © (2005-07-14 18:03) [8]
function ExecCmd(const aCommand: String): Cardinal;
var
pi:PROCESS_INFORMATION;
si:STARTUPINFO;
cmdLine,Path: String;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
si.dwFlags := STARTF_FORCEONFEEDBACK+STARTF_USESHOWWINDOW;
si.wShowWindow := SW_SHOWNORMAL;
Path := ExtractFilePath(aCommand);
cmdLine := aCommand;
Result := GetTickCount;
if CreateProcess( nil,
PChar(cmdLine),
nil,
nil,
False,
0,
nil,
PChar(Path),
si,
pi )
then
begin
if WaitForInputIdle(pi.hProcess,INFINITE)=WAIT_OBJECT_0 then
begin
Result := GetTickCount-Result;
end
else Result := 0;
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
end
else Result := 0;
end;
Страницы: 1 вся ветка
Текущий архив: 2005.09.04;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.054 c