ExitProcess

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

  1. Zmiy

    Zmiy New Member

    Публикаций:
    0
    Регистрация:
    26 фев 2007
    Сообщения:
    29
    Объясните пожалуйста по-подробнее, для чего используется параметр exitcode этой функции? Какие значения он может принимать?
     
  2. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    http://msdn2.microsoft.com/en-us/library/ms682658.aspx
     
  3. Zmiy

    Zmiy New Member

    Публикаций:
    0
    Регистрация:
    26 фев 2007
    Сообщения:
    29
    Я это читал. Там нет ничего по сабжу. Я понимаю, что exitcode - это код, возвращаемый оперционной системе после завершения процесса. Но для чего он нужен? Что система будет с ним делать и что изменится, если я передам не 0, а какое-то другое число? Какие значения можно передавать, там тоже не написано.
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    GetExitCode(), родительскоий процесс может вызвать эту функцию и предпринять какие-либо действия.
     
  5. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    OurProgram.exe
    IF NOT %ERRORLEVEL%==0 GOTO LERROR
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    просто сохранит. обычно его запросит потом родительский процесс.
    зависит от договоренности, как будет его трактовать родительский процесс. обычно 0 сигнализирует успех.
    еще при получении исключения процесс завершается с кодом, равным коду исключения
     
  7. Zmiy

    Zmiy New Member

    Публикаций:
    0
    Регистрация:
    26 фев 2007
    Сообщения:
    29
    Что это значит?
    То есть при завершении приложения я могу передавать любое значение, смысл не изменится?
     
  8. asmeradm

    asmeradm New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    26
    Это значит, что твоя прога может возвращать значение. Запустил в .bat файле ёё - получил в %ERRORLEVEL% то число, которое передал.

    Изменится, если ТЫ этого захочешь.
     
  9. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    я же писал:
    смысл трактуется родительским процессом
     
  10. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    куда сохранит?
    GetExitCode() принимает в качестве параметра хендл процесса, то есть процесс завершился, но не все хендлы закрыты => объект процесса существует, хотя помечен как выгружаемый.
     
  11. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    я про то и говорю. в EPROCESS->ExitStatus и сохранит
     
  12. Zmiy

    Zmiy New Member

    Публикаций:
    0
    Регистрация:
    26 фев 2007
    Сообщения:
    29
    Понятно, это здорово :)
    Я плохо разбираюсь в этом. Я имею ввиду не дочерний процесс, а основной, то есть моё приложение. У него тоже есть родительский процесс? То есть я просто использую вызов Exitprocess что бы завершить своё приложение, в этом случае как Windows будет анализировать результат? Или он не будет его анализировать, и параметр предназначен только для процессов, созданных CreateProcess?

    Кстати, встречается в исходниках некоторых програм при завершении как ExitCode передаётся wParam сообщения WM_QUIT. Какой в этом смысл?
     
  13. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    в этом случае никак.
    а есть другие варианты?
    этот wParam берется из аргумента PostQuitMessage()
     
  14. Zmiy

    Zmiy New Member

    Публикаций:
    0
    Регистрация:
    26 фев 2007
    Сообщения:
    29
    Какой смысл передавать wParam, если Windows всё равно не будет его анализировать?
     
  15. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Zmiy
    если твой родительский процесс намеревается анализировать код завершения, то смысл есть. если нет - то нет. имхо, очевидно
     
  16. Zmiy

    Zmiy New Member

    Публикаций:
    0
    Регистрация:
    26 фев 2007
    Сообщения:
    29
    Теперь понятно. Всем спасибо!