Accesso il desktop dell'applicazione da un servizio

Traduzione articoli Traduzione articoli
Identificativo articolo: 115825 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato archiviato. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.
Espandi tutto | Chiudi tutto

Sommario

In Windows NT versione 3.1, se si desidera accedere ai desktop dell'applicazione, un servizio è necessario eseguire il servizio nell'account LocalSystem. Un processo di servizio eseguito con l'account LocalSystem (o un processo avviato da tale servizio) è possibile visualizzare le finestre di messaggio, finestre e finestre di dialogo. I processi in esecuzione nell'account LocalSystem non vengono interrotte dal sistema durante la disconnessione. Windows NT versione 3.5, che influiscono sulla modalità che Windows interagisce con questi servizi sono stata apportata numerose modifiche. Inoltre, Windows NT 3.51 dispone di un insieme di API desktop più completo.

Nota: È in esecuzione servizi interattivi con l'account di sistema è un particolarmente pericoloso esercitazione. Questo vale soprattutto processore dei comandi e i file batch. Un utente desidera controllare il sistema solo possibile premere CTRL + C per ottenere un prompt dei comandi interattivo di sistema.

Informazioni

Di seguito sono nuove funzionalità di Windows NT versione 3.5, che influiscono sulla servizi:
  • L'account dell'utente connesso è l'unico account consentito l'accesso il desktop dell'applicazione. Il sistema locale non ha accesso. Pertanto, è possibile ottenere l'accesso al desktop rappresentando l'utente prima di effettuare qualsiasi USER o GDI chiama.
  • Le applicazioni console e la GUI avviate da un processo di servizio durante una sessione di accesso specifico vengono eseguite su una stazione finestra invisibile e desktop che sono univoche per tale sessione. La stazione finestra e desktop vengono creati automaticamente all'avvio dell'applicazione prima nella sessione; vengono eliminati alla chiusura dell'ultima applicazione. Non esiste un modo per rendere visibili queste desktop invisibile.
  • Se si desidera un servizio di interagire con l'utente connesso l'account localsystem, specificare il flag SERVICE_INTERACTIVE_PROCESS nella chiamata a CreateService. Ad esempio:
          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 );
    						
    se si specifica un account diverso da localsystem quando si utilizza SERVICE_INTERACTIVE_PROCESS, si verificherà l'errore INVALID_PARAMETER (87).
  • Se si utilizza CreateProcess() per avviare il processo e si desidera accedere ai desktop degli utenti del servizio, è necessario assegnare il parametro lpdesktop della struttura STARTUPINFO con "WinSta0\\Default".
  • Per i servizi che devono semplicemente una notifica utente visibile farlo chiamando MessageBox() con il flag MB_SERVICE_NOTIFICATION. Utilizzando il flag MB_DEFAULT_DESKTOP_ONLY funziona, ma solo se il desktop dell'utente è attivo. Se la workstation viene bloccata o uno screen saver è in esecuzione, la chiamata avrà esito negativo.

    Nota: Se si sta scrivendo codice per un'applicazione che può essere eseguito come un servizio o un file eseguibile, non è possibile utilizzare MB_SERVICE_NOTIFICATION, nonché un hwndOwner diverso da NULL.
  • Alcun output per una finestra non è visualizzato o è disponibili per l'applicazione in alcun modo. Tentativo di leggere i risultati di visualizzazione di un errore di bit.
  • Servizi di grafica non è in di ricevono messaggi WM_QUERYENDSESSION/WM_ENDSESSION alla disconnessione e chiusura, invece, ricevono eventi CTRL_LOGOFF_EVENT e CTRL_SHUTDOWN_EVENT. Questi servizi non vengono interrotte dal sistema a fine sessione.

Proprietà

Identificativo articolo: 115825 - Ultima modifica: sabato 1 marzo 2014 - Revisione: 2.1
Le informazioni in questo articolo si applicano a:
  • Microsoft Win32 Application Programming Interface alle seguenti piattaforme
    • Microsoft Windows NT 4.0
    • Microsoft Windows NT 3.51 Service Pack 5
Chiavi: 
kbnosurvey kbarchive kbmt KB115825 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 115825
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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