Domanda

Vorrei caricare la mia applicazione C # dopo il login di Windows dell'utente e prima che venga visualizzata finestre desktop. Attualmente ho aggiunto la mia domanda percorso di avvio al Registro di sistema chiave di esecuzione. si carica la mia domanda correttamente, ma sembra finestre desktop di Windows [2 sec] poi i miei eseguita l'applicazione

Nota:

La mia applicazione crea tavolo separato con WinAPI, mentre la mia applicazione in esecuzione si nasconde temporaneamente il desktop.

Nessuna soluzione corretta

Altri suggerimenti

Questo non è davvero possibile fare. Windows funziona piuttosto difficile da ottenere sul desktop e explorer reattivo come subito dopo l'utente accede. Questo è ciò che è più importante per l'utente.

I tuoi obiettivi possono essere nobile, ma sono in contrasto con ciò che gli utenti vogliono. Quindi, in generale, sono in contrasto con il funzionamento di Windows (in particolare Win-7).

Se si dispone di un software che deve essere eseguito in anticipo che non ha bisogno di interagire con l'utente, quindi un servizio che è strada da percorrere. E 'importante notare che in Vista e in seguito i sistemi Windows, non v'è alcun modo per un servizio di interagire con l'utente - per esempio non possono avere la propria interfaccia utente grafica. Servizi con interfaccia utente per sé non sono sicuri.

Un modo per partizionare il software è quello di mettere alcune cose in un servizio, e avere uno strato di interfaccia utente pensare su di esso. COM e RPC locale sono buone scelte per la comunicazione tra il vostro servizio e il vostro livello di interfaccia utente.

Si noti che è necessario per fare il lavoro qui per evitare che i componenti di rallentare avvio. Scarsamente applicazioni si comportano sono uno dei maggiori problemi nel percorso di avvio. È possibile studiare questo utilizzando il Windows Performance Toolkit

È un po possibile che penso, ma si sono davvero dentro per un sacco di lavoro extra. Che cosa si potrebbe fare è sostituire la shell di Windows con il proprio codice, ma a quel punto si diventa l'unico responsabile per l'interfaccia utente che l'utente interagisce con.

Se il codice non è 'giusto', si può finire con un inutilizzabili installazione di Windows, e io non sono sicuro che gli utenti stanno andando ad apprezzare più di tanto.

Si noti inoltre che ci possono essere le caratteristiche che normalmente intuitivamente aspetta di essere disponibile su una macchina Windows che fanno parte del guscio, che non si avrà accesso ai più. Per i dettagli, prova a http://en.wikipedia.org/wiki/Windows_shell_replacement come un punto di partenza punto.

Addendum :
Ho solo una vaga conoscenza me stesso su ciò che è effettivamente coinvolto tecnicamente per rendere questo accada, ma http: // dustyant. com / articles / deeshell / sembra essere una spiegazione decente delle nozioni di base. Anche in questo caso tho ... hic sunt leones assicuratevi di farlo in una macchina virtuale o qualcosa in modo che non finiscano per ripieno il principale di installazione di Windows.

Solo brevemente cosa 'Shell Replacement' significa: dopo l'accesso, Windows si avvia un'applicazione chiamata 'explorer' (non so se questo vale ancora per Vista / Win 7 ... Ho un vago ricordo ha ottenuto un po 'di più coinvolti di recente), che trae sostanzialmente desktop, la barra delle applicazioni, ecc ... è possibile dire di Windows per avviare una diversa applicazione anziché la shell grafica di default. A quel punto si è in controllo della principale interfaccia utente Windows ... il che significa che si è responsabile di tutto ciò che Windows fa normalmente in guscio ... ti dà un sacco di controllo e flessibilità, e, eventualmente, un sacco di mal di testa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top