Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Jak ze služby spustit uživatelský proces?

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Jak ze služby spustit uživatelský proces?

Autor: pepak

8:15:21 12.08.2010

Díky.

Mezitím jsem našel tenhle článek, který se tomu věnuje podrobněji a zmiňuje i některé "gotcha's":

http://asprosys.blogspot.com/2009/03/allow-service-to-interact-with-desktop.html

Citovat příspěvek

 

Re: Jak ze služby spustit uživatelský proces?

Autor: JiriValerian

23:43:40 10.08.2010

[b]CreateProcessAsUser Function[/b]
http://msdn.microsoft.com/en-us/library/ms682429(VS.85).aspx

nebo

[b]CreateProcessWithLogonW Function[/b]
http://msdn.microsoft.com/en-us/library/ms682431(v=VS.85).aspx

Citovat příspěvek

 

Jak ze služby spustit uživatelský proces?

Autor: pepak

10:38:35 10.08.2010

Neřešil jste už někdo tuhle věc? Mám službu, která provádí všechny možné věci, a mimo jiné bych z ní potřeboval spustit určitou aplikaci. Problém je v tom, že služba běží v "prostoru služeb", zatímco tu aplikaci bych potřeboval mít spuštěnou v prostoru aktuálně přihlášeného uživatele; tudíž nejde použít jenom jednoduché volání CreateProcess, protože to zachovává kontext a ta aplikace by se mi spustila opět v kontextu služby (kdy například běží pod uživatelem LOCAL SYSTEM, nemá přístup k desktopu a nemá přístup k síťovým připojením uživatele, pokud bych měl jmenovat jen tři věci, které kontext služby odlišují od kontextu uživatele). Jak by se to dalo rozumně řešit? Mě napadají jen způsoby přes plánovač úloh (nebo obdobnou věc), ale ty mi připadají notoricky nespolehlivé (i kdyby plánovač spolehlivě běžel, musel bych pro každého možného uživatele tu naplánovanou úlohu vytvořit).

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: