Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kiosk Mode (https://www.delphipraxis.net/188532-kiosk-mode.html)

himitsu 22. Okt 2024 11:22

AW: Kiosk Mode
 
Oder alternativ vielleicht ein WinRE (Runtime Environment) oder WinPE (PreInstall Environment) nutzen
und dort die eigene App als Shell.
Ob man das installieren (auf HDD kopieren) kann oder nur von CD, USB-Stick oder SD-Card ... keine Ahnung.

Synology nutzt sowas, für seine Wiederherstellungsoftware (eine Windows-App) des Active Backup.
(gibt es auch als Beschreibungs-PDF, wenn man sich den Stick selbst manuell zusammenbauen will)

paule32.jk 25. Okt 2024 20:38

AW: Kiosk Mode
 
Um eine andere Shell zu verwenden, müsste man in den "abgesicherten" Modus fahren.
Und dann per regedit.exe oder regedit32.exe den Eintrag (HIVE) für die Shell ändern - was unter normalen Betrieb nicht möglich ist, weil Windows da noch paar Schreiberreien macht, wenns runter gedüst wird...
Man könnte zum Beispiel eine "angepasste" explorer.exe basteln - und mit der bestehenden exe Datei anpassen.
Das geht.
Allerdings hat man dann keine Kontrolle mehr über das Login Dingends, was explorer.exe aufruft, um den Benutzer zu authentisieren.
Das müsste dann die svchost.exe sein...
Was man hier machen könnte, währe im "nicht" gepatchten explorer.exe Desktop bestimmte Benutzer mit deren Rechte anlegen.
Vorher sollte man dann noch die "login" Routine mit Delphi oder C++Builder realisieren, die für svchost.exe eintreten soll.
Dann boot in den "abgesicherten" Modus.
Shell austauschen und dann paar Sekunden warten, bis der Cache die Datei geschrieben hat.
Und dann Stöpsel vom Rechner trennen, so dass die Boot routine und das "rück"schreiben nicht wirkt.
Paar Sekündchen warten und Rechner normal booten.

Vielleicht sollte dann noch ein Fenster-Manager gebastelt werden, weil durch die oben beschriebene Methode die dwm.exe nicht gestartet wird, die windows für die Gestaltung des Desktops verwendet - musst mal im Taskfenster schauen wie die Datei mit den 3 Buchstaben vor dem Punkt heißt.

Kleiner Tipp: VM packen, Kopie für die schnelle Rückkopierung erstellen, und die Shell Aktivitäten auf der VM probieren.
Weil wir hier auch probieren sind:

!!! DIE GENANNTEN VERFAHREN UND METHODEN DIENEN AUSSCHLIEßLICH FÜR ÜBUNGEN !!!
!!! ANWENDUNG ERFOLGT AUF EIGENE GEFAHR !!!
!!! ICH DISTANZIERE MICH AUSDRÜCKLICH VOR JEDER SCHADENSMELDUNG !!!


EDIT:
Man könnte auch erstmal versuchen, eine kleine Anwendung zu schreiben, die im Vollbildschirm-Modus arbeitet.
Das Fenster dann noch mit den Eigenschafften:
- kein Border
- keine Icons
- keine System-Menues
- keine Titlebar (Caption)

- das Fenster on Top halten (mit Timer)
- die Keyboard-Routinen umbiegen (alternativ: die OnKeyPress Events verschnörkeln)
- und noch paar Dinge mehr ...

HolgerX 26. Okt 2024 15:28

AW: Kiosk Mode
 
Hmm..

Alternativ kannst Du eine App erstellen, welche einen neuen Desktop created und dann in diesem deine Kiosk-App alleine ausführen.
Dies Kiosk-App sollte dann immer im FullScreen ohne SystemMenü/Border laufen.

Stickpunkte
CreateDesktop()
SwitchDesktop()
CloseDesktop()

CreateProcess() mit TStartupInfo.lpDesktop..

Wenn deine Kiosk-App beendet ist, könnte wieder auf den Original Desktop zurück gewechselt werden.

paule32.jk 26. Okt 2024 17:21

AW: Kiosk Mode
 
war da nich etwa was mit CreateWorkstation ?
Hab das lange nicht mehr gemacht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz