Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.05;
Скачать: CL | DM;

Вниз

Консольное приложение....   Найти похожие ветки 

 
SemFLY ©   (2003-04-20 18:22) [0]

Всем Привет :)
-
Как мне запустить консольное приложение, в виде сервиса ?
Вообщем чтобы не появлялось дос-окно.
Информацию из дос-окна мне получать не надо, просто запустить в невидимом режиме.
P.S. Программка ту что надо скрыть, сервер IRC-D !
- - -
Ещё хотелось бы , но это не основное, в трее сделать иконку, что программа запушена...


 
Юрий Зотов ©   (2003-04-20 18:37) [1]

1. Уберите директиву APPTYPE.
2. Создайте скрытое окно (RegisterClassEx + CreateWindowEx), заполните структуру TNotifyIconData и вызовите Shell_NotifyIcon.


 
SemFLY ©   (2003-04-20 21:59) [2]

Это вы мне рассказали, как сделать если я пишу консольную программу, а у меня уже имеется, не мной написанная, консольная программа, как мне её запустить в виде сервиса т.е. в скрытом виде...


 
Snap ©   (2003-04-20 22:03) [3]

Опять таки убери АппТайп, но при этом удали из проги все операторы типа Writeln если они есть.


 
SemFLY ©   (2003-04-20 22:16) [4]

как мне удалить из проги АппТайп ? Если у меня уже скомпиленный exe-шник, исходного кода у меня нет ! :(
Я вот и спрашиваю, как мне средствами Delphi это сделать ?! ;)


 
Snap ©   (2003-04-20 22:31) [5]

ГЫЫЫыыы. Так можно в принципе забыть что это программа на дельфи, теперь это просто исполняемый файл, и конкретно с помощью дельфи делу не поможешь.


 
LEON   (2003-04-20 22:43) [6]

зайди на www.dors.de, там есть open source прога RazorLame, которая имеет этот код в себе


 
Юрий Зотов ©   (2003-04-21 00:38) [7]

Хороший вопрос... Особенно, в связи с его его последующим уточнением... Ну просто совсем одно и то же, никакой разницы... Остается только удивляться точности формулировок... Ну и еще кой-чему...

Значица, так. Ежели мы не рассматриваем модификацию кода, то:

1. Если чужой exe создает свое окно (хоть консольное, хоть нет), то запретить ему это Вы не сможете. Зато сможете это его окно спрятать. Если этот exe не консольный Win32, а действительно DOS"овский, то прятанье окна через параметры CreateProcess может и не сработать (поскольку это будет уже консоль виртуальной машины, а не самой программы) - а вот ShowWindow, по идее, должно сработать в любом случае (но окно может "моргнуть" на экране).

2. Если чужой exe не сажает никуда никаких иконок, значит, он этого делать и не будет, хоть Вы расшибитесь.

Вывод - пишите свою программу-запускалку. В ней запускаете этот чужой exe (CreateProcess), прячете его окно (либо в параметрах CreateProcess, либо через FindWindow + ShowWindow) и сажаете в трей иконку (Shell_NotifyIcon). А заодно и отлавливаете его завершение (MsgWaitForMultipleObjects, либо WaitForSingleObject во втором потоке) - чтобы вовремя убрать иконку и завершить свою программу. В ней же обрабатываете сообщения от иконки. Все.


 
SemFLY ©   (2003-04-21 23:42) [8]

Всем Спасибо :)





Страницы: 1 вся ветка

Текущий архив: 2003.05.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-12746
AlexOld
2003-04-20 10:12
2003.05.05
Как менять размер массива, являющегося полем записи


14-12929
Мартин
2003-04-17 13:20
2003.05.05
Помогите отпределить стоимость разработки! HELP!


14-12867
SammIk
2003-04-16 16:41
2003.05.05
Работа с указателями


14-12874
Андрей
2003-04-15 21:30
2003.05.05
Как выдрать исходник?


6-12848
kofman
2003-03-07 23:51
2003.05.05
Как найти зеркало данного сайта?