Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-12828
NeshBriges
2003-04-22 22:39
2003.05.05
Переход на строку ...


14-12892
zatochka
2003-04-16 22:26
2003.05.05
Как сдаелать программу невидимой


11-12682
Mhorse
2002-07-30 07:35
2003.05.05
Как превратить HWND в PControl?


1-12699
Сергей Ч
2003-04-23 11:09
2003.05.05
Работа с MS Word


1-12735
Nikos
2003-04-22 19:11
2003.05.05
Как восстановить текст, который был в поле Memo?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский