Come posso eseguire un'applicazione all'avvio su un sistema Windows, che è stato modificato in modo da non correre explorer

StackOverflow https://stackoverflow.com/questions/1121832

  •  13-09-2019
  •  | 
  •  

Domanda

SOMMARIO

Come posso fare la mia corsa applicazione GUI all'avvio di Windows su una macchina Windows modificato che non si avvia explorer.exe.

  • Esecuzione di un collegamento in Programmi -> cartella Esecuzione automatica non ottenere eseguito.
  • La mia domanda è grafico e quindi non può semplicemente modificare applicazione per l'esecuzione come un servizio.

Sfondo

Ho una domanda che deve essere eseguito su un PC dedicato che viene utilizzato per generare contenuti per Digital Signage. E 'il tipo di software che genera gli annunci e vari contenuti presentazione che vedete visualizzato su schermi / LCD al plasma di grandi organizzazioni.

Ho avuto esperienza con diversi fornitori di tali software di gestione dei contenuti e tutti fondamentalmente creare un'applicazione Windows e poi striscia fuori cose dalle finestre per evitare qualsiasi tipo di pop-up da presentarsi ecc Uno uno dei venditori I' m si occupano di questo momento, Windows è stata modificata in modo tale che explorer.exe non inizia.

La corsa sulla funzionalità di avvio del nostro programma si avvale di un collegamento nella cartella Esecuzione automatica. Quello che ho trovato è che, poiché non è in esecuzione explorer.exe né fa la mia applicazione.

Quando il computer viene avviato si avvia automaticamente nella modalità di esecuzione per l'applicazione di digital signage, che inizia a visualizzare il contenuto programmabile. È possibile premere CTRL - ALT - Elimina e uccidere il loro programma e quindi avviare explorer.exe dal taskmanager. Dopo circa un secondo o giù di lì ... Vedo il mio inizio applicazione.

Quindi, la mia domanda è - Come posso fare il mio carico di applicazione su una scatola di Windows che non si avvia explorer.exe. Qualcuno sa se dire utilizzando una chiave di registro nella cartella Run avrebbe funzionato anche in assenza di explorer? C'è qualche altro modo modo per rendere programma viene eseguito all'avvio?


Modifica: accettato risposta Attuazione Note

ho implementato l'approccio nella risposta accettata. Ecco legame che ho trovato utile nella sua attuazione. Non ho mai fatto provare l'approccio chiave di registro. Se qualcuno conferma che sarebbe eseguire w / o explorer.exe di carico, si prega di lasciare un commento.

È stato utile?

Soluzione

Convertire l'applicazione per un servizio e impostarlo come auto-start. In alternativa, ci sono strumenti on-line per l'esecuzione di un file EXE arbitrario come un servizio. Scriverne uno da soli è abbastanza semplice.

Se l'applicazione ha bisogno di interagire con il desktop e creare interfaccia utente, è necessario il servizio di lanciare l'exe sul desktop appropriato. Per fare questo, è possibile utilizzare WTSEnumerateSessions per trovare la sessione utente interattiva, WTSQueryUserToken ottenga il suo token, poi CreateProcessAsUser per avviare l'applicazione sul desktop corretto come quell'utente.

Altri suggerimenti

<HKLM|HKCU>\Software\Microsoft\Windows\CurrentVersion\Run è il solito posto per mettere roba, ma se questo non è abbastanza buono HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon ha una stringa chiamata "Userinit" e lo fa sostenere valori separati da virgola multipla.

Se si vuole andare in terra senza documenti, ci sono un milione di posti nel Registro di sistema in cui sono le cose iniziate, iniziare Autoruns di Sysinternals, mentre il monitoraggio con Baku / ProcessMonitor

Si potrebbe tentare di modificare

[HKEY_CLASSES_ROOT\Folder\shell] 

impostare il valore predefinito per il percorso / nome del file eseguibile

Questo è pericoloso .. se si rovinare tutto, si potrebbe avere enormi difficoltà a trovare il sistema di lavoro .. meglio provare / gioco in un VM

Si può aggiungere una voce a quello del registro

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

chiave?

Non sono sicuro se explorer.exe è responsabile per l'avvio di programmi che si trovano in questa zona o se il back-end di Windows è responsabile ma vale la pena di provare.

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