Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ShellAPI

373
02 мая 2006 года
unmoved
216 / / 28.11.2004
Как запустить программу методом ShellExecute, так что бы подожать когда выполнится она и только потом выполнять все остальные инструкции. А то она только пораждает процессы нне дожидаясь их окончания.
8.4K
02 мая 2006 года
Dian
91 / / 18.02.2006
Цитата:
Originally posted by unmoved
Как запустить программу методом ShellExecute, так что бы подожать когда выполнится она и только потом выполнять все остальные инструкции. А то она только пораждает процессы нне дожидаясь их окончания.


Скорее всего никак - не известно даже что запустится

344
02 мая 2006 года
Delpher
493 / / 14.08.2005
Цитата:
Originally posted by unmoved
Как запустить программу методом ShellExecute, так что бы подожать когда выполнится она и только потом выполнять все остальные инструкции. А то она только пораждает процессы нне дожидаясь их окончания.




Это возможно используя CreateProcess

303
03 мая 2006 года
makbeth
1.0K / / 25.11.2004
Цитата:
Originally posted by Delpher
Это возможно используя CreateProcess


Точнее CreateProcess и WaitForSingleObject

929
03 мая 2006 года
sp999
198 / / 31.01.2003
Цитата:
Originally posted by makbeth
Точнее CreateProcess и WaitForSingleObject


А вот и процедура:

Код:
procedure RunAndWait(App: string; Wait: Boolean);
var
  PInfo: TProcessInformation;
  SInfo: TStartUpInfo;
begin
  FillChar(SInfo, SizeOf(SInfo), #0);
  FillChar(PInfo, SizeOf(PInfo), #0);
  SInfo.CB := SizeOf(SInfo);
  SInfo.dwFlags := STARTF_USESHOWWINDOW;
  SInfo.wShowWindow := 1;
  CreateProcess(nil, PChar(App), nil, nil, TRUE, 0,
   GetEnvironmentStrings, nil, SInfo, PInfo);
  if (Wait) then
    if PInfo.hProcess >= 32 then
      while WaitforSingleObject(PInfo.hProcess, 200) = WAIT_TIMEOUT do
        Application.ProcessMessages;
end;
8.4K
03 мая 2006 года
Dian
91 / / 18.02.2006
C помощью CreateProcess - нет проблем, вот только какое приложение запускать?
2.0K
04 мая 2006 года
Dstr
158 / / 27.04.2006
Цитата:
Originally posted by Dian
C помощью CreateProcess - нет проблем, вот только какое приложение запускать?



ищи в ветке реестра HKEY_CLASES_ROOT расширение нужного файла запоминай значение По умолчанию и ищи теперь его в этой же ветке и в \shell\command\ значение По умалчанию будет нужная тебе прога...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог