Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.24;
Скачать: CL | DM;

Вниз

Выловить окончание работы плеера   Найти похожие ветки 

 
Андрей_1 ©   (2009-04-09 12:40) [0]

Для запуска внешней програмы использую такую функцию:
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 13:08) [1]


> Как выловить момент окончания рекламы


Никак, если плейер не предоставляет соответствующего механизма нотификации.


> или закрытия KMPlayer.exe


http://www.delphirus.com/modules.php?name=News&file=article&sid=32


 
Андрей_1 ©   (2009-04-09 13:20) [2]

Если так, то выход только через Timer?
Включать Timer и каждую секунду проверять наличие окна KMPlayer?


 
Вариант   (2009-04-09 13:34) [3]


> Андрей_1 ©   (09.04.09 13:20) [2]
> Если так, то выход только через Timer?
> Включать Timer и каждую секунду проверять наличие окна KMPlayer?
>


Есть и другие варианты, например
ShellExecuteEx и WaitForSingleObject ( или WaitForMultipleObjects,MsgWaitForMultipleObjects)


 
Андрей_1 ©   (2009-04-09 13:37) [4]

А как использовать?
ShellExecuteEx и WaitForSingleObject ( или WaitForMultipleObjects,MsgWaitForMultipleObjects)


 
Сергей М. ©   (2009-04-09 13:46) [5]


> как использовать?


Т.е. справку по этим ф-циям ты уже проштудировал и нишиша там не понял, так это надо понимать ?


 
Вариант   (2009-04-09 14:00) [6]


> Андрей_1 ©   (09.04.09 13:37) [4]

Один из примеров в коде для CreateProcess есть и в указанной ссылке
> Сергей М. ©   (09.04.09 13:08) [1]



Страницы: 1 вся ветка

Текущий архив: 2009.05.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
2-1239685249
PROgrammist
2009-04-14 09:00
2009.05.24
Дребезжание канвы.


2-1238993664
Alex_C
2009-04-06 08:54
2009.05.24
Как быстрее обратиться к полям таблицы?


2-1239014028
Roman88
2009-04-06 14:33
2009.05.24
Определить наличие процедуры


2-1239179296
bioss
2009-04-08 12:28
2009.05.24
Работа с интерфейсом в Delphi


15-1237973404
Юрий
2009-03-25 12:30
2009.05.24
С днем рождения ! 25 марта 2009 среда