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

Вниз

Создание службы под WinNT   Найти похожие ветки 

 
Alekc   (2004-04-11 18:12) [0]

Помогите советом или исходником плз. Конкретно интересует как сделать программу, которая может запускаться как служба WindowsNT и как отдельное приложение. Сделать что-то одно легко, а вот как сделать два в одном ?.. Конкретно непонятно как при запуске программы определить в каком именно режиме она запускается ?


 
Polevi ©   (2004-04-11 18:19) [1]

с помощью параметров командной строки
при регистрации сервиса задай путь к exe как myexe.exe -service
при старте смотри на ParamStr


 
sniknik ©   (2004-04-11 20:38) [2]

ScktSrvr запускается и так и так, в дельфях есть исходники.


 
Polevi ©   (2004-04-12 09:25) [3]

function InstallService:boolean;
var
 scm,serv:THandle;
begin
 scm:=OpenSCManager(nil,nil,SC_MANAGER_CREATE_SERVICE);
 serv:=CreateService(scm,PChar(FServiceName),PChar(FServiceName),SERVICE_ALL_ACCESS,
                     SERVICE_WIN32_OWN_PROCESS,SERVICE_DEMAND_START,SERVICE_ERROR_IGNORE,
                     PChar(ParamStr(0)+" -service"),nil,nil,nil,nil,nil);
 Result:=serv<>0;
 if Result then CloseServiceHandle(serv);
end;

procedure RemoveService;
var
 scm,serv:THandle;
begin
 scm:=OpenSCManager(nil,nil,SC_MANAGER_CONNECT);
 serv:=OpenService(scm,PChar(FServiceName),SERVICE_ALL_ACCESS);
 try
   DeleteService(serv);
 finally
   CloseServiceHandle(serv);
 end;
end;

begin
 { TODO -oUser -cConsole Main : Insert code here }
 if FindCmdLineSwitch("INSTALL",["-","\","/"], True) then
   InstallService
 else
 if FindCmdLineSwitch("UNINSTALL",["-","\","/"], True) then
   RemoveService
 else
 if FindCmdLineSwitch("SERVICE",["-","\","/"], True) then
 begin
   StartServiceCtrlDispatcher(...); //работаем как сервис
 end
 else
 begin //работаем как приложение
   ...
   ...
 end
end.



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

Форум: "Система";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.037 c
7-1081610499
Alexis
2004-04-10 19:21
2004.05.23
Вопрос о процессах и не только...


14-1083157523
FlankerX
2004-04-28 17:05
2004.05.23
Microsoft vs Borland


11-1072108076
SPeller
2003-12-22 18:47
2004.05.23
Надо или нет?


8-1078606910
Yuri Btr
2004-03-07 00:01
2004.05.23
Проблема с установкой ф-ии через BASS_ChannelSetSync


14-1083328106
uny
2004-04-30 16:28
2004.05.23
тема такая странная





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский