[delphi] SYSTEM user

0

jak pisze aplikacje i j uruchomie to ma 'atrybut' zalogowanego uzytkownika- nazwe jego profilu co widac na menedzerze zadan XP...
Moje pytanie brzmi jak uruchomic programowo program jako SYSTEM...
załączam zdjecie - chyba wyjasni co nieco....
user image

0

ups ! wciel ozdjecie dam link na images hack: http://img403.imageshack.us/my.php?image=systemlt4.png

0

Musisz stworzyć specjalny rodzaj aplikacji czyli usługę systemową. Usługi różnią się od zwykłych aplikacji tym, że mogą być uruchamiane przed zalogowaniem jakiegokolwiek użytkownika.

Koniecznie musisz zdawać sobie sprawę z całej masy konsekwencji, jakie to za sobą pociąga. Pogoogluj, poszukaj i zastanów się, czy w ogóle usługa spełni wymagania, co do tworzonej aplikacji.

0

no spoks, ale to tzreba cos specjlanego tworzyc bo mi sie wydawalo(moze błądze ;D) ze da tez rade zamiescic aplikacje w jaims folderze odpowiednim w WINDOWS i przyjmie atrybut SYSTEM albo dodanie do rejestru wlasciwosci,,,,</delphi>

0

Trzeba taką aplikację osobno tworzyć (choć ostatecznie wynikiem też zwykle jest plik EXE). Musi ona posiadać specjalną obsługę pewnych zdarzeń, bo to system decyduje, kiedy ma się zakończyć, a nie użytkownik czy program. Te zdarzenia to: Uruchomienie, Zatrzymanie, Wznowienie, Wyłączenie. Dodatkowo na ogół obsługuje jeszcze Instalację i Deinstalację.

Usługa nie powinna w żaden sposób komunikować się z interfejsem użytkownika (bo żaden może nie być w danej chwili nawet zalogowany).

Miejsce położenia pliku EXE usługi nie ma najmniejszego znaczenia.

0

no rozumiem , szkoda tylko ze w google nic nie a na temat stworzenia aplikacji systemowej...

0

Nie wiem, czy w Turbo Delphi ale w BDS 2006 jest File -> New -> Delphi Projects -> Service application

Jak google nic nie ma? Oczywiście, że ma:
Google: Windows+Service+Delphi

0

ale to jest przeciez zwykla aplikacja ktora reaguje na pare komunikatow od systemu i ktora jest uruchamiana przed logowaniem sie userow i nie ma gui

0

--- hmm a wlasciwie z innej strony,,,, daloby rade nadac ten atrybut dowolnemu programowi??
tzn program nie msui by 'systemowy' ale zeby w menedzerze pisalo SYSTEM.... nie musi miec wlasciwosci innych programow systemowych tylko ten napis....

0
Endrju napisał(a)

ale to jest przeciez zwykla aplikacja ktora reaguje na pare komunikatow od systemu i ktora jest uruchamiana przed logowaniem sie userow i nie ma gui

I tak, i nie.. Raczej chodzi mi o to, że musisz pisząc aplikację zadbać o to, by wspierała obsługę tych zdarzeń, by one właśnie kończyły jej działanie, by się potrafiła zarejestrować, itp (A więc nie jest to w tym kontekście 'zwykła' - klasyczna aplikacja). Więc pisząc ją, po prostu musisz to uwzględnić.

W przypadku gotowej (napisanej przez kogoś innego) aplikacji łatwiej byłoby chyba: "Uruchom jako.." [inny użytkownik], niż kombinowanie z usługami.

Różnica też jest taka, że, pracując na nieuprawnionym koncie, nie zainstalujesz usługi, a program może i odpalisz (pytanie, czy to co on będzie chciał zrobić zostanie zaaprobowane przez system operacyjny).

0

wobec tego....pytanie moje brzmi:
jak uruchomic program jako uzytkownik SYSTEM (takei konto w Xp istnieje)...

0

Winapi: CreateProcessAsUser(..);

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