Скрытый запуск указанной проги
Объясните пожалуйста как незаметно запустить прогу (свернуть или вообще не показывать).
P.S.
Заранее благодарен, 4-R
Объясните пожалуйста как незаметно запустить прогу (свернуть или вообще не показывать).
В ShellExecute последним параметром можно указать SW_MINIMIZED. Работает ли на самом деле для консольных приложений - не проверял.
В ShellExecute последним параметром можно указать SW_MINIMIZED. Работает ли на самом деле для консольных приложений - не проверял.
Проверил - у меня работает (SW_SHOWMINIMIZED).
Но появилась другая проблема:
я запускал так
[COLOR=blue]
var
SI : TSTARTUPINFO;
P : TPROCESSINFORMATION;
cml: Pchar;
...
CREATEPROCESS(NIL,cml,NIL,NIL,FALSE,
CREATE_DEFAULT_ERROR_MODE NIL,NIL,SI,P);
WAITFORSINGLEOBJECT(P.hProcess,INFINITE);
для ожидания завершения
[/COLOR]
А в ShellExecute я такого чё-то не видел. :-(
Запускаю стандартное ВИНДОУСовское консольное приложение. Всё бы хорошо, но вот не нравится мне это всплывающее чёрное окно, весь прикол портит.
Объясните пожалуйста как незаметно запустить прогу (свернуть или вообще не показывать).
P.S.
Заранее благодарен, 4-R
Просто создай процесс!
И в этом процессе не отображай окно !
Это примерно делается так. Пример на архиваторе rar.
-------
var
iRes : Cardinal;
procs : PROCESS_INFORMATION;
stup : STARTUPINFO;
sEncodeStr,
sExeName : String;
begin
GetStartupInfo(stup);
stup.dwFlags := STARTF_USESHOWWINDOW;
stup.wShowWindow := SW_HIDE;//То что тебе нужно
CreateProcess(Nil,
PChar(ExtractFilePath(Application.ExeName)+'rar\rar.exe'+' '+'e -o+ '+fmDevice.drDevice.Drive+':\copy.rar c:\'),
Nil,
Nil,
False,
0,
Nil,
pchar('C:\'),
stup,
procs
);