![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выловить окончание работы плеера [D5, D6, XP]
Андрей_1 © (2009-04-09 12:40:00)Для запуска внешней програмы использую такую функцию:
function TForm1.ExecuteFile(const FileName, Params, DefaultDir: string;
ShowCmd: Integer): THandle;
var
fn:String;
zFileName, zParams, zDir: array[0..79] of Char;
begin
Result := 1;
fn:='Файл не найден';
if ShellExecute(Application.MainForm.Handle,nil,
StrPCopy(zFileName, FileName), StrPCopy(zParams, Params),
StrPCopy(zDir, DefaultDir), ShowCmd) < 32 then
Application.MessageBox(PChar(fn),'Заголовок окна', MB_OK);
end;
Вызов функции
procedure TForm1.Timer4Timer(Sender: TObject);
begin
ExecuteFile('D:\Реклама\VIDEO_TS\Vts_01_1.vob', '', 'C:\2', SW_NORMAL);
Timer4.Enabled:=False;
end;
Запускается реклама через KMPlayer.exe.
После окончания рекламы KMPlayer.exe закрывается.
Как выловить момент окончания рекламы или закрытия KMPlayer.exe и выдать сообщение.
Вариант (2009-04-09 14:00:00) [1]
> Андрей_1 © (09.04.09 13:37) [4]
Один из примеров в коде для CreateProcess есть и в указанной ссылке
> Сергей М. © (09.04.09 13:08) [1]
Сергей М. (2009-04-09 13:46:00) [2]
> как использовать?
Т.е. справку по этим ф-циям ты уже проштудировал и нишиша там не понял, так это надо понимать ?
Андрей_1 (2009-04-09 13:37:00) [3]А как использовать?
ShellExecuteEx и WaitForSingleObject ( или WaitForMultipleObjects,MsgWaitForMultipleObjects)
Вариант (2009-04-09 13:34:00) [4]
> Андрей_1 © (09.04.09 13:20) [2]
> Если так, то выход только через Timer?
> Включать Timer и каждую секунду проверять наличие окна KMPlayer?
>
Есть и другие варианты, например
ShellExecuteEx и WaitForSingleObject ( или WaitForMultipleObjects,MsgWaitForMultipleObjects)
Андрей_1 (2009-04-09 13:20:00) [5]Если так, то выход только через Timer?
Включать Timer и каждую секунду проверять наличие окна KMPlayer?
Сергей М. (2009-04-09 13:08:00) [6]
> Как выловить момент окончания рекламы
Никак, если плейер не предоставляет соответствующего механизма нотификации.
> или закрытия KMPlayer.exe
http://www.delphirus.com/modules.php?name=News&file=article&sid=32