А>Не нужно советовать человеку хакирьские методы.
А когда этот код стал хакерским???
BOOL InstallDriver( SC_HANDLE scm, LPCTSTR DriverName, LPCTSTR driverExec )
{
SC_HANDLE Service =
CreateService ( scm,
DriverName,
DriverName,
SERVICE_ALL_ACCESS,
SERVICE_KERNEL_DRIVER,
SERVICE_DEMAND_START,
SERVICE_ERROR_NORMAL,
driverExec,
NULL,
NULL, NULL, NULL, NULL);
if (Service == NULL)
{
DWORD err = GetLastError();
if (err == ERROR_SERVICE_EXISTS) {}
else printf ("ERR: CanТt create service. Err=%d\n",err);
return FALSE;
}
CloseServiceHandle (Service);
return TRUE;
}
BOOL StartDriver(SC_HANDLE scm, LPCTSTR DriverName)
{
SC_HANDLE Service =
OpenService(scm, DriverName, SERVICE_ALL_ACCESS);
if (Service == NULL) return FALSE;
BOOL ret =
StartService( Service,
0,
NULL );
if (!ret)
{
DWORD err = GetLastError();
if (err == ERROR_SERVICE_ALREADY_RUNNING)
ret = TRUE;
else {}
}
CloseServiceHandle (Service);
return ret;
}