Войти

Показать полную графическую версию : Запуск из проги другой проги


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

Prisoner
22-11-2003, 01:36
А не лучше сделать, скажем две закладки, где вторая содержит окно броузера. Таким образом надолишь переключиться на вторую закладку, чтобы получить предпросмотр.

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

[mzd]
26-11-2003, 12:40
попробуй это:
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;




© OSzone.net 2001-2012