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

Вниз

Описание сервиса   Найти похожие ветки 

 
ПЛОВ ©   (2006-08-04 16:31) [0]

Просто написать его в реестр, например
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\DemoService\
Description="text"

или есть какая-нибуть специальная функия для этого?


 
Jeer ©   (2006-08-04 16:34) [1]


> или есть какая-нибуть специальная функия для этого?


Даже целый класс - TRegistry.


 
Eraser ©   (2006-08-04 16:37) [2]

> [0] ПЛОВ ©   (04.08.06 16:31)

ChangeServiceConfig2


 
ПЛОВ ©   (2006-08-04 16:40) [3]

Спасибо


 
sniknik ©   (2006-08-04 16:45) [4]

ChangeServiceConfig2A в advapi32.dll


 
isasa ©   (2006-08-04 16:49) [5]

Если самовывозом, то можно так. Сорри на D примера нет. В списке служб появится сам.
   
       wprintf(L"Service installing process...\n");
        // Open a handle to the SC Manager database.
       SC_HANDLE schSCManager = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS); // full access rights
       //Check handle
       if (NULL == schSCManager)
       {
LPVOID lpMsgBuf;
DWORD dw = GetLastError();
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
  NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );
wprintf(L"OpenSCManager failed. (0x%08X)%s\n", dw, lpMsgBuf);
LocalFree(lpMsgBuf);
       return 0;
       }
       SC_HANDLE schService = CreateService(
               schSCManager, // SCManager database
               srvName, // name of service
               srvDispName, // service name to display
               SERVICE_ALL_ACCESS, // desired access
               SERVICE_WIN32_OWN_PROCESS, // service type
               SERVICE_DEMAND_START, //SERVICE_AUTO_START,  // start type
               SERVICE_ERROR_NORMAL, // error control type
               thData.szPath, // path to service"s binary
               NULL, // no load ordering group
               NULL, // no tag identifier
               NULL, // no dependencies
               NULL, // LocalSystem account
               NULL); // no password
       if (schService == NULL)
       {
LPVOID lpMsgBuf;
DWORD dw = GetLastError();
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
  NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );
    wprintf(L"CreateService failed. (0x%08X)%s\n", dw, lpMsgBuf);
       CloseServiceHandle(schSCManager);
LocalFree(lpMsgBuf);
       return 0;
       }
       CloseServiceHandle(schService);
       wprintf(L"Service installing succeeded:\n");
       wprintf(L"Service display name: \"%s\"\n", srvDispName);
       wprintf(L"Service file path: \"%s\"\n", thData.szPath);
return 0;


 
Misha Uskov ©   (2006-08-09 17:33) [6]

function ChangeServiceConfig2A(hService: SC_HANDLE; dwInfoLevel: DWORD;
                              var lpInfo): BOOL; stdcall;
procedure TSPService.ServiceAfterInstall(Sender: TService);
var
 sdBuf : SERVICE_DESCRIPTION;
 h_manager, h_svc: SC_Handle;
begin
 h_manager := OpenSCManager("" ,nil, SC_MANAGER_CONNECT);
 if h_manager > 0 then
 begin
   h_svc := OpenService(h_manager, PChar(Name), SERVICE_CHANGE_CONFIG);
   if h_svc > 0 then
   begin
     sdBuf.lpDescription := PAnsiChar(CDescription);
     if not ChangeServiceConfig2A(h_svc, SERVICE_CONFIG_DESCRIPTION, sdBuf)
       then MessageDlg(SysErrorMessage(getLastError), mtError, [mbOK], 0);
     CloseServiceHandle(h_svc);
   end;
   CloseServiceHandle(h_manager);
 end;



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

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

Наверх




Память: 0.48 MB
Время: 0.042 c
3-1151323751
Sirus
2006-06-26 16:09
2006.09.03
Прямой доступ к DBF файлам в Delphi 2006


15-1154966122
partizan
2006-08-07 19:55
2006.09.03
Реально реализовать АВЛ-дерево в БД?


3-1150956012
-=alive=-
2006-06-22 10:00
2006.09.03
Перекодировать DBF таблицу


9-1134279157
GRAVIX
2005-12-11 08:32
2006.09.03
Спрайт в OPENGL


1-1153387653
pasha_golub
2006-07-20 13:27
2006.09.03
Перенаправление stdout & stdin консольного приложения