Как подождать процесс?

Тема в разделе "WASM.BEGINNERS", создана пользователем gershkovich, 21 мар 2006.

  1. gershkovich

    gershkovich New Member

    Публикаций:
    0
    Регистрация:
    14 фев 2006
    Сообщения:
    97
    Привет всем.



    Возникла такая проблема: надо подождать заверешния процесса (приложения).



    Тренируюсь на notepad-е:

    Запускаю notepad таким вот образом:



    invoke ShellExecute, [hWnd], [lpOperation], [lpFile],\

    [lpParameters], [lpDirectory], [nShowCmd]

    ...




    и в EAX получаю хэндл.

    Я так думаю что это хэндл процесса.



    Как имея хэндл процесса ждать его заверешения?

    Есть ли какие функции, ждущие процесс?

    Если да, то есть ли разница между Win процессам и DOS ?



    Заранее спсб.
     
  2. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.558
    Адрес:
    Russia
    Если верить MSDN - ShellExecute возвращает далеко не хендл:

    Returns TRUE if successful, or FALSE otherwise



    Если тебе нужен, хендл то создавай процесс с помощью CreateProcess так правильнее - у тебя в структуре PROCESS_INFORMATION возвретится информация о процессе.



    Ждать завершения можно по разному - например WaiteForSingleObject передав ей описатель процесса.



    Разница между процессами в Win32 и программами DOS (у меня язык не поворачивается назвать это "процессами") есть , при чем очень большая.