Usługa Win XP - autostart z usługi

0

Elo.... Napisałem sobie programik w c++ i chce zamiescic tam autostart. Z tym że nie moge dodac wpisu do rejestru, autostartu, harmonogramu zadan zaplanowanych :) i ostatnią furtką jak dla mnie jest maly tut znalezniony w necie dot. Usług w c++

Kodzik:

#include <windows.h>
int main()
{
SC_HANDLE sh_manager = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);
if(!sh_manager)
{
return false; //nie udalo sie otworzyc SCManagera
}

SC_HANDLE service_handle=CreateService(sh_manager,"nazwa_nas zej_uslugi5","nazwa_naszej_uslugi5",SERVICE_ALL_AC CESS,SERVICE_WIN32_OWN_PROCESS,SERVICE_AUTO_START, SERVICE_ERROR_NORMAL,"D:\\Pasek.exe",NULL,NULL,NUL L,NULL,NULL);
if(!service_handle)
{
if(GetLastError()==ERROR_SERVICE_EXISTS)//usluga o tej nazwie juz istnieje
{
service_handle= OpenService(sh_manager,"nazwa_naszej_uslugi5",SERV ICE_ALL_ACCESS);
}
else
{
CloseServiceHandle(sh_manager);//zamykamy uchwyty
CloseServiceHandle(service_handle);
return false;//nie udalo sie stworzyc uslugi
}
}
else
{
if(StartService(service_handle,0,NULL)==0)//jesli nie ma zadnych bledow no to mozemy wystartowac nasza usluge
{
WinExec("D:\\Przelicznik.exe", SW_SHOW);
if(GetLastError()==ERROR_SERVICE_ALREADY_RUNNING)
{
return true;//zostala juz wczesniej uruchomiona
}
}
}
CloseServiceHandle(sh_manager);//zamykamy uchwyty
CloseServiceHandle(service_handle);

return true;

}  

I problem w tym że usługa sie tworzy, nawet ma poprawny adres do programu ale po restarcie systemu operacyjnego nie odpala tego exeka :/ Czyzby ten exe musiał byc napisany w formie uslugi ? Probowalem podac adres do Samego Sb czyli do tego exeka ale nie pomoglo....

Chyba że to tylko u mnie tak bo miałem usluge z nero, podmienilem plik exe ( tak ze to teraz odpalal sie moj program a nie nero) ale mimo restartu nie wlaczalo sie nic.... :/ So ?
Jakies pomysly ?

0

Czyzby ten exe musiał byc napisany w formie uslugi ?

Tak, to nie jest zwykła aplikacja:
http://msdn.microsoft.com/en-[...]op/ms685984%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-[...]op/bb540476%28v=vs.85%29.aspx

0
Lucjan_Inferno napisał(a)

nie moge dodac wpisu do rejestru, autostartu, harmonogramu zadan
Dlaczego?

Lucjan_Inferno napisał(a)

ostatnią furtką jak dla mnie jest maly tut znalezniony w necie dot. Usług w c++
Uruchomienie serwisu, chodź tego nie widać, wiąże się z dodaniem do rejestru mnóstwa informacji.

0
adf88 napisał(a)

Dlaczego?

Bo mam konto z ograniczeniami :PP
A co do wpisu do rejestru - jestem tego swiadom, lecz z kodu programu jestem w stanie zrobic to jako admin xD

0

Coś się tu strasznie nie zgadza. Niby masz ograniczenia, ale ich nie masz? Musisz opisać swój problem dokładnie. Co robi program i dlaczego ma być w autostarcie. Jakie ograniczenia.

0

UP Bo ograniczenia nie obejmują usług. Tz moge stworzyć na 'legalu' daną usługe. Zaś ta usługa może odpalać mi program który chce by sie odpalal za kazdym wlaczeniem systemu operacyjnego.

Co ma program robic ? :D
Zbierać informacje o uzytkowniku :)) No ale mniejsza o to - nie o to pytam :D

0

Znaczy się nie masz prawa do modyfikacji rejestru, ale zainstalować usługę masz prawo? Niemożliwe.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0