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....
ups ! wciel ozdjecie dam link na images hack: http://img403.imageshack.us/my.php?image=systemlt4.png
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.
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>
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.
no rozumiem , szkoda tylko ze w google nic nie a na temat stworzenia aplikacji systemowej...
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
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
--- 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....
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).
wobec tego....pytanie moje brzmi:
jak uruchomic program jako uzytkownik SYSTEM (takei konto w Xp istnieje)...
Winapi: CreateProcessAsUser(..);