Конференция "WinAPI" » процесс без консольного окна [D6, NT4]
 
  • workbench (07.08.08 15:55) [0]
    Здравствуйте. Есть программа которая в случае сбоев в своей работе через net send посылает сообщение начальничку, служба запускается так:

    CreateProcess(nil, PChar(Format('%s %s %s', ['net send', '*****',
       '*****'])), nil, nil, false, NORMAL_PRIORITY_CLASS or  DETACHED_PROCESS, nil, nil, StartupInfo, ProcessInformation)

    Проблема в том что при запуске процесса выскакивает консольное окошко, а можно запустить процесс без него, просто на самом деле тут нафиг не нужно
  • Игорь Шевченко © (07.08.08 16:05) [1]
    можно, указав в StartupInfo.wShowWindow значение SW_HIDE ну и dwFlags там же нужный выставить
  • workbench (07.08.08 16:32) [2]
    установил StartupInfo.wShowWindow в SW_HIDE, всё равно окно вылазит
  • Anatoly Podgoretsky © (07.08.08 16:35) [3]
    > Игорь Шевченко  (07.08.2008 16:05:01)  [1]

    SW_HIDE это с окном, только скрытым.
  • workbench (07.08.08 16:48) [4]
    да пускай оно даже будет (окно), лишь бы не мерцало при запуске
  • Rouse_ © (07.08.08 17:32) [5]

    > Есть программа которая в случае сбоев в своей работе через
    > net send посылает сообщение начальничку

    А NetMessageBufferSend() не проще вызвать? :)
  • Alucard (08.08.08 01:05) [6]
    Если хочется скрытый консольный процесс, вот пример с перенаправлением вывода: http://delphi.about.com/cs/adptips2001/a/bltip0201_2.htm.
  • CodeMonkey © (08.08.08 10:23) [7]

    > установил StartupInfo.wShowWindow в SW_HIDE, всё равно окно
    > вылазит

    А флаги (dwFlags) кто ставить будет?

    Как вариант:
    Вместо DETACHED_PROCESS указать CREATE_NO_WINDOW.

    И совсем правильно будет:

    > А NetMessageBufferSend() не проще вызвать? :)
 
Конференция "WinAPI" » процесс без консольного окна [D6, NT4]
Есть новые Нет новых   [134435   +33][b:0][p:0]