Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Запуск из проги другой проги (http://forum.oszone.net/showthread.php?t=30138)

Vampire 21-11-2003 22:53 207470

Приветик всем дельферам.
Короче пишу прогу по созданию html страничек (своеобразный редактор для создания сайта). Так вот есть кнопочка которая в любой момент создания странички запускает эксплорер (типа предпросмотр). Как сделать так чтобы в момент запуска эксплорера и пока он не выгружен моя прога становилась "замороженной" (ну типа вообще стала неактивной), а после закрытия эксплорера занова "размораживалась"


Prisoner 22-11-2003 01:36 207471

А не лучше сделать, скажем две закладки, где вторая содержит окно броузера. Таким образом надолишь переключиться на вторую закладку, чтобы получить предпросмотр.

По вопросу - надо будет через определенное время смотреть существует ли окно броузера (то есть в цикле), что не может не сказаться на занятости процессора. Как только окно пропало - разморозить свою программу. Как вы будете реализовывать замороженность - уже вопрос творческий. Можно написать процедурку которая обходит все компоненты на форме и ставит enabled:=false, можно вывести поверх всех компонентов на форме панельку с симпатичным мультиком аля "из истории предпросмотрщиков" :) ну и так далее...

[mzd] 26-11-2003 12:40 207472

попробуй это:
PROCEDURE TFORM1.BUTTON1CLICK(SENDER: TOBJECT);
VAR
 SI : TSTARTUPINFO;
 P  : TPROCESSINFORMATION;
BEGIN
FILLCHAR( SI, SIZEOF( SI ) , 0 );
WITH SI DO BEGIN
 CB := SIZEOF( SI);
 DWFLAGS := STARTF_USESHOWWINDOW;
 WSHOWWINDOW := 4;
END;
APPLICATION.MINIMIZE;
CREATEPROCESS(NIL,'NOTEPAD.EXE',NIL,NIL,FALSE,CREATE_DEFAULT_ERROR_MODE,NIL,NIL,SI,P);
WAITFORSINGLEOBJECT(P.HPROCESS,INFINITE);
APPLICATION.RESTORE;
END;


Время: 18:59.

Время: 18:59.
© OSzone.net 2001-