Изменение типа запуска службы
#include <stdio.h>
#include <windows.h>
SC_HANDLE hSvc=NULL, hSvcMgr=NULL;
LPCTSTR lpSvcName="Telnet";
BOOL result;
void main()
{
result=FALSE;
hSvcMgr=OpenSCManager(NULL, NULL,SC_MANAGER_ALL_ACCESS);
if (hSvcMgr=NULL) printf("Eroor getting Service Manager handle\n");
hSvc=OpenService(hSvcMgr, "Telnet", SC_MANAGER_ALL_ACCESS);
if (hSvc=NULL) printf("Error getting Service handle\n");
result=ChangeServiceConfig(hSvc, SERVICE_NO_CHANGE, SERVICE_AUTO_START, SERVICE_NO_CHANGE, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
if (result=FALSE) printf("Error configuring service\n");
CloseServiceHandle(hSvc);
CloseServiceHandle(hSvcMgr);
}
Предпологается изменение типа запуска Telnet с Отключен на Авто. Ну и как предполагалось ничего не работает :) И ошибок тоже не выдает никаких. Ни при компиляции, ни при запуске. Вот и не пойму я где ошибка. Зарылся уже совсем в описаниях. Подскажите в чем дело может быть.
...
if (result[color=red]=[/color]FALSE) printf("Error configuring service\n");
...
И правда что:)
Спасибо. Ошибки появились теперь хоть :)
Теперь вот ошибка 1060 ERROR_SERVICE_DOES_NOT_EXIST.
Есть два понятия - имя сервиса(service name) и имя отображения сервиса(display name). Так вот, служба telnet имеет имя отображения Telnet, но имя самой службы - TlntSvr. Открывать службу нужно по ИМЕНИ службы, то есть надо писать
OpenService(hSvcMgr, "TlntSvr", SC_MANAGER_ALL_ACCESS);
:-))))
Спасибо!!! Заработало :)