Přístup k ploše aplikací ze služby

Překlady článku Překlady článku
ID článku: 115825 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

V části Windows NT verze 3.1, pokud chcete, aby služba přístup k ploše aplikace je nutné spustit službu v účtu LocalSystem. Proces služby spuštěn v účtu LocalSystem (nebo proces spuštěný z takové služby) můžete zobrazit zprávou, oken a dialogových oknech. Procesy spuštěné v účtu LocalSystem v systému není ukončena během odhlášení Číslo změny byly provedeny Windows NT, verze 3.5, ovlivňující způsob WINDOWSNT spolupracuje s tyto služby. Windows NT 3.51 má navíc rozsáhlejší sadu plochy API.

Poznámka: Spuštěna pod systémovým účtem interaktivní služby je VELMI nebezpečné cvičení. To platí zejména příkazového procesoru a dávkové soubory. Uživatel, který chce řízení systém lze pouze přístupů CTRL + C získat příkazového řádku interaktivní systému.

Další informace

Nové funkce systému Windows NT verze 3.5, ovlivňující služby jsou následující:
  • Účet přihlášeného uživatele je udělen přístup k ploše aplikace pouze účet. Již LocalSystem má přístup. Proto je možné získat přístup k ploše podle zosobnění uživatele před provedením USER nebo GDI volá.
  • Spuštění z procesu služby během konkrétní přihlašovací relaci konzoly a GUI aplikací jsou spuštěny na neviditelné okno stanice a plochy, které jsou jedinečné v této relaci. Okno stanice a plocha jsou vytvořeny automaticky při spuštění první aplikace v relaci; jejich budou ztraceny při ukončení poslední aplikace. Viditelné vydání tyto neviditelné plochy žádným způsobem.
  • Pokud chcete službu v interakci přihlášený uživatel s účtem localsystem, zadat příznak SERVICE_INTERACTIVE_PROCESS volání CreateService(). Například:
          schService = CreateService(
             schSCManager,
             serviceName,
             serviceName,
             SERVICE_ALL_ACCESS,
             SERVICE_INTERACTIVE_PROCESS | SERVICE_WIN32_OWN_PROCESS,
             SERVICE_DEMAND_START,
             SERVICE_ERROR_NORMAL,
             lpszBinaryPathName,
             NULL,
             NULL,
             NULL,
             NULL,
             NULL );
    						
    Pokud při použití SERVICE_INTERACTIVE_PROCESS zadáte jiný účet než localsystem, dostanete chybové INVALID_PARAMETER (87).
  • Pokud váš proces spustit pomocí CreateProcess() a chcete, aby služby přihlásit uživatelé plochy, přiřadit parametr lpdesktop struct OBVYKLE s "WinSta0\\Default".
  • Služby, jednoduše potřebujete upozornění viditelné uživatele to lze provést voláním MessageBox() s příznakem MB_SERVICE_NOTIFICATION. Použitím příznaku MB_DEFAULT_DESKTOP_ONLY funguje stejně, ale pouze pokud ploše uživatele je aktivní. Pokud je pracovní stanice uzamčena nebo je spuštěn spořič obrazovky, volání se nezdaří.

    Poznámka: Pokud jsou psaní kódu pro aplikace spouštěné jako služby nebo spustitelný soubor, nelze použít MB_SERVICE_NOTIFICATION stejně jako hwndOwner NULL.
  • Jakýkoli výstup do okna provedeno zobrazena nebo není k dispozici aplikace žádným způsobem. Pokusy o čtení z zobrazit výsledky v selhání bitů.
  • GUI služby přijímat zprávy WM_QUERYENDSESSION/WM_ENDSESSION při odhlášení a vypnutí; místo toho přijímat události CTRL_LOGOFF_EVENT a CTRL_SHUTDOWN_EVENT. Tyto služby není ukončena systémem při odhlášení.

Vlastnosti

ID článku: 115825 - Poslední aktualizace: 28. února 2014 - Revize: 2.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Win32 Application Programming Interface na těchto platformách
    • Microsoft Windows NT 4.0
    • Microsoft Windows NT 3.51 Service Pack 5
Klíčová slova: 
kbnosurvey kbarchive kbmt KB115825 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:115825

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com