Uruchamianie programu z innego programu

0

Witam

Mam taki problem - mam jeden program, który pracuje jako usługa systemu Windows i przy starcie tego programu uruchamiam inny program, który jest prostym okienkiem do wyświetlania komunikatów.
Uruchamianie odbywa się przez Process.Start(moj_program.exe). Jeżeli program nr 1 uruchamiany jest normalnie czyli nie jako usługa to program nr 2 startuje prawidłowo, natomiast w przypadku uruchomienia usługi, program nr 2 uruchamia się ale bez interfejsu okienkowego :/ Nie mam pojęcia jak to ominąć. Proszę o pomoc.

0

Okienko sie nie pokazuje, bo usluga startuje dla innego uzytkownika (systemowego), ktory ma swoj 'pulpit'. Powinienes raczej zrobic to w ten sposob, ze aplikacja uruchamia sie np. z autostartu i laczy sie z usluga. Usluga pozniej przekazuje te komunikaty do aplikacji.

0
johny_bravo napisał(a)

Okienko sie nie pokazuje, bo usluga startuje dla innego uzytkownika (systemowego), ktory ma swoj 'pulpit'. Powinienes raczej zrobic to w ten sposob, ze aplikacja uruchamia sie np. z autostartu i laczy sie z usluga. Usluga pozniej przekazuje te komunikaty do aplikacji.

Ale jeżeli usłudze nadaję prawo logowania jako użytkownik i przypisuje jej login i hasło to już nie uruchamia się dla użytkownika SYSTEM tylko dla konkretnego usera, a taka operacja i tak nie sprawia że okno się pokazuje. Więc nie jestem przekonany czy to chodzi o użytkownika.

0

Uslugi zawsze uruchamiane sa z prawami uzytkownika SYSTEM. To, ze nadales jej prawa do logowania na innego nie znaczy przeciez, ze sie tam sama z automatu zaloguje, nie? Bo jakby to mialo dzialac jakbys nadal prawa do kilku?

//edit
Mozesz wlaczyc opcje integracji z pulpitem uzytkownika, ale to obejscie i nie zadziala w Win 7.

0
johny_bravo napisał(a)

Mozesz wlaczyc opcje integracji z pulpitem uzytkownika, ale to obejscie i nie zadziala w Win 7.

Właśnie o to mi chodziło :) Po zaznaczeniu opcji współdziałania z pulpitem program nr 2 uruchamia się z interfejsem :)

Tylko mam jeszcze pytanie, ponieważ w przypadku kiedy usługa jest uruchamiana jako SYSTEM to jest tam opcja współdziałania z pulpitem, ale jeżeli nadam usłudze prawo logowania jako użytkownik (a mam też taki przypadek) to wtedy nie mam takiej opcji i dalej nie mam interfejsu, co wtedy?

0

Pisalem, ze to obejscie :P Powinienes zmienic sposob dzialania, ten Twoj nie jest uniwersalny i ma wlasnie takie ograniczenia, na jakie sie nadziales.

Wczesniej nie zrozumialem o jakim logowaniu mowisz. Byc moze nie masz takiej opcji, bo uzytkownik x nie ma takich uprawnien, zeby 'wdzierac sie' na pulpit normalnego uzytkownika. Co to za uzytkownik x?

0

To że nie działa w Win7 to dla mnie nie jest problem ponieważ docelową platformą jest XP i Win Server i tam to działa :)
A użytkownik ma prawa administratora. Zobacz że w oknie właściwości usługi nie ma defaultowo takiej opcji, przynajmniej dla użytkownika innego niż SYSTEM.

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