Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
4-1144147115
balepa
2006-04-04 14:38
2006.09.03
CreateProcess, ShellExecute, WinExec


15-1154728907
Garr
2006-08-05 02:01
2006.09.03
А что в Microsoft Visual C++ 6.0 не показывается где ошибка??


6-1143721565
vic_774N
2006-03-30 16:26
2006.09.03
решение проблемы подсей


9-1132970392
Шейдер
2005-11-26 04:59
2006.09.03
Как проверить поддерживает ли видеокарта шейдеры?


15-1154952780
ПЛОВ
2006-08-07 16:13
2006.09.03
Проблемы с сервисом




   Наверх