Показать полную графическую версию : Запуск из проги другой проги
Приветик всем дельферам.
Короче пишу прогу по созданию html страничек (своеобразный редактор для создания сайта). Так вот есть кнопочка которая в любой момент создания странички запускает эксплорер (типа предпросмотр). Как сделать так чтобы в момент запуска эксплорера и пока он не выгружен моя прога становилась "замороженной" (ну типа вообще стала неактивной), а после закрытия эксплорера занова "размораживалась"
Prisoner
22-11-2003, 01:36
А не лучше сделать, скажем две закладки, где вторая содержит окно броузера. Таким образом надолишь переключиться на вторую закладку, чтобы получить предпросмотр.
По вопросу - надо будет через определенное время смотреть существует ли окно броузера (то есть в цикле), что не может не сказаться на занятости процессора. Как только окно пропало - разморозить свою программу. Как вы будете реализовывать замороженность - уже вопрос творческий. Можно написать процедурку которая обходит все компоненты на форме и ставит enabled:=false, можно вывести поверх всех компонентов на форме панельку с симпатичным мультиком аля "из истории предпросмотрщиков" :) ну и так далее...
попробуй это:
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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC