Регистрация завершения программы запущеной ShellExecute

Тема в разделе "WASM.WIN32", создана пользователем Freecod, 2 мар 2007.

  1. Freecod

    Freecod New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    136
    Ну вот, растроили, с манифестом не помогли, глом-глом, пришлось самому искать нашу прелесь... :)
    Хоть подскажите как отловить сабж.
    Вот это не катит.
    .while dwExitCode == STILL_ACTIVE
    invoke WaitForSingleObject, pi.hProcess, 1000 ; в pi.hProcess возврат от ShellExecute
    invoke GetExitCodeProcess,pi.hProcess, addr dwExitCode
    .endw
    Вроде по MSDN это вроде псевдо-декриптор, декриптор возвращает ShellExecuteEx. А надо в обычном.
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    ShellExecuteEx. И цикл не нужен - усни, пока процесс не завершится.
     
  3. Freecod

    Freecod New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    136
    А можно строчку кода? А то не совсем я понял, где в структуре искомый дескриптор, и как уснуть пока не завершится.
     
  4. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Freecod
    мда... тривиальные вещи ведь
    Код (Text):
    1. ...
    2. lpExecInfo.fMask |= SEE_MASK_NOCLOSEPROCESS;
    3. if (ShellExecuteEx(&lpExecInfo)) {
    4.   WaitForSingleObject(lpExecInfo.hProcess, INFINITE);
    5. }
     
  5. Freecod

    Freecod New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    136
    Тривиально, а всё таки...
    Спасиб.