Wie kann ich eine Anwendung beim Start auf einem Windows-System laufen, das modifiziert wurde, um nicht-Explorer läuft

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

  •  13-09-2019
  •  | 
  •  

Frage

Zusammenfassung

Wie kann ich meine GUI-Anwendung läuft auf Windows-Start auf einem modifizierten Windows-Maschine machen, die nicht explorer.exe starten.

  • einen Link in Programme platzieren -> Startordner get nicht ausgeführt.
  • Meine Anwendung ist grafisch so kann ich nicht nur Anwendung ändern, als Dienst ausgeführt werden.

Hintergrund

Ich habe eine Anwendung, die auf einem dedizierten PC ausgeführt werden muss, das verwendet wird, Inhalte für Digital Signage zu erzeugen. Es ist die Art von Software, die die Ankündigungen und verschiedene Diashow Inhalte erzeugt, die Sie auf Plasma- / LCD-Bildschirmen in großen Organisationen angezeigt zu sehen.

Ich habe Erfahrung mit mehreren verschiedenen Anbietern solcher Content-Management-Software hatte und sie alle im Grunde eine Windows-Anwendung erstellen und dann die Dinge aus den Fenstern Streifen aus jeder Art von Pop-up zu verhindern, zeigt sich etc. Man einer der Anbieter Ich m mit jetzt zu tun, wurde Fenster so modifiziert, dass explorer.exe startet nicht.

Der Run auf Start Funktionalität unseres Programms nutzt eine Verknüpfung im Autostart-Ordner. Was ich gefunden habe ist, dass seit explorer.exe nicht läuft auch nicht meine Anwendung.

Wenn der Computer startet automatisch den Run-Modus für die Digital-Signage-Anwendung startet, in denen den programmierbaren Inhalt beginnt anzeigt. Sie können STRG drücken - ALT - Löschen und ihr Programm töten und dann explorer.exe vom taskmanager starten. Nach etwa einer Sekunde oder so ... Ich sehe meine Anwendung zu starten.

Also, meine Frage ist - Wie kann ich meine Anwendungslast auf einem Windows-machen, die nicht explorer.exe beginnen. Wer weiß, ob ein Registrierungsschlüssel in den Run-Ordner auch in Abwesenheit von Explorer funktionieren würde sagen, mit? Gibt es eine andere Art und Weise Art und Weise Programm läuft beim Start zu machen?


Edit: akzeptierte Antwort Hinweise zur Implementierung

I implementiert, um den Ansatz in der akzeptierten Antwort. Hier Link, die ich nützlich fand es bei der Umsetzung. Ich habe nie den Registrierungsschlüssel Ansatz versuchen. Wenn jemand bestätigt, dass es w / o explorer.exe Laden ausführen würde, lassen Sie einen Kommentar.

War es hilfreich?

Lösung

Konvertieren Sie Ihre Anwendung auf einen Dienst und legen Sie es als Autostart. Alternativ gibt es Online-Tools für eine beliebige exe als Dienst ausgeführt wird. Das Schreiben selbst eine Beurteilung ist ziemlich einfach.

Wenn Ihre Anwendung mit dem Desktop interagieren muss, und erstellen UI, müssen Sie Ihren Dienst die exe auf dem entsprechenden Desktop zu starten. Um dies zu tun, können Sie WTSEnumerateSessions verwenden, um die interaktive Benutzersitzung zu finden, zu WTSQueryUserToken seine Token zu bekommen, dann CreateProcessAsUser, um die Anwendung auf dem richtigen Desktop als dieser Benutzer zu starten.

Andere Tipps

<HKLM|HKCU>\Software\Microsoft\Windows\CurrentVersion\Run ist der üblicher Ort Sachen zu setzen, aber wenn das nicht gut genug HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon ist, hat eine Zeichenfolge namens „Userinit“ und es tut mehr durch Komma getrennte Werte unterstützen.

Wenn Sie in undokumentierten Land gehen wollen, gibt es eine Million Stellen in der Registry, wo die Dinge begonnen haben, starten Sie Autoruns von Sysinternals, während mit RegMon / Process Überwachung

Sie könnten versuchen, ändern

[HKEY_CLASSES_ROOT\Folder\shell] 

setzen Sie den Standardwert auf Pfad / Name der ausführbaren Datei

Das ist gefährlich, .. wenn Sie mess es, das System große Probleme bekommen Arbeit haben könnte .. am besten versuchen / Spiel in einer VM

Können Sie einen Eintrag in der Registrierung des Add

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

Schlüssel?

Ich bin mir nicht sicher, ob explorer.exe für das Anfahren Programme verantwortlich ist, die in diesem Bereich sind oder wenn der Windows-Backend ist verantwortlich, aber es ist ein Versuch wert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top