Witam
Od jakiegoś czasu próbuję odpalić mój program jako użytkownik System. Szukałem jak to zrobić na wielu stronach i używałem google, ale efekt taki sam - nic.
Jedyne co znalazłem, to taki kod, ale w C++
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_naszej_uslugi","nazwa_naszej_uslugi",SERVICE_ALL_ACCESS,SERVICE_WIN32_OWN_PROCESS,SERVICE_AUTO_START,SERVICE_ERR
OR_NORMAL,"sciezka_do_pliku_exe",NULL,NULL,NULL,NULL,NULL);
if(!service_handle)
{
if(GetLastError()==ERROR_SERVICE_EXISTS)//usluga o tej nazwie juz istnieje
{
service_handle= OpenService(sh_manager,"nazwa_naszej_uslugi",SERVICE_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 :D
{
if(GetLastError()==ERROR_SERVICE_ALREADY_RUNNING)
{
return true;//zostala juz wczesniej uruchomiona
}
}
}
CloseServiceHandle(sh_manager);//zamykamy uchwyty
CloseServiceHandle(service_handle);
return true;//w tym momecie nasza usluga juz chodzi i uruchomi sie tez przy nastepnym uruchomieniu
Próbowałem go przerobić na Delphi, ale są problemu.
jeśli mógłby ktoś przerobić ten kod na Delphi, to byłbym bardzo wdzięczny, a jeśli ktoś wie jak uruchomić program jako SYSTEM z poziomu programu, to proszę o napisanie jak to zrobić.
Dzięki wielkie z góry za pomoc!!!