3
« en: Sábado 14 de Octubre de 2006, 21:11 »
Hola , revise el ControlService, pero vi que solo retorna informacion del servicio, este es el codigo que utilice:
void ControlService(SC_HANDLE schService) {
SERVICE_STATUS ssStatus;
DWORD fdwAccess;
DWORD dwStartTickCount, dwWaitTime;
fdwAccess = SERVICE_USER_DEFINED_CONTROL
if (! ControlService(
schService, // handle to service
129, // control value to send, este numero va de 128 a 256
&ssStatus) ) // address of status info
{
printf("ControlService failed (%d)\n", GetLastError());
// return FALSE;
}
printf("\nStatus of Sample_Srv: \n");
printf(" Service Type: 0x%x\n", ssStatus.dwServiceType);
printf(" Current State: 0x%x\n", ssStatus.dwCurrentState);
printf(" Controls Accepted: 0x%x\n",
ssStatus.dwControlsAccepted);
printf(" Exit Code: %d\n", ssStatus.dwWin32ExitCode);
printf(" Service Specific Exit Code: %d\n",
ssStatus.dwServiceSpecificExitCode);
printf(" Check Point: %d\n", ssStatus.dwCheckPoint);
printf(" Wait Hint: %d\n", ssStatus.dwWaitHint);
}
Bueno antes me cree un open service para pasarle al Controlservice el SC_HANDLE
Y la verdad no se como poder invocar un metodo en particular del servicio.