Delphi-PRAXiS

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)

tomkupitz 13. Mär 2016 15:31

Kiosk Mode
 
Hallo,

ich habe hier eine "normale" Delphi-App die exklusiv ausgeführt werden soll (Win8.1). Kann man einen erforderlichen Kiosk-Mode auch in Delphi erstellen und wenn ja wie? Ansonsten würde mich interessieren, welche externe Kisok-Software genau diese Funktion mitbringt (auch kommerziell)?

Danke und beste Grüße
tk

Sir Rufo 13. Mär 2016 20:08

AW: Kiosk Mode
 
Den Kiosk-Mode erhält durch Anpassung eines Windows-Kontos (nein, nicht das Administrator Konto).

Dort werden dann diverse Einstellungen vorgenommen um so wenig wie möglich und nur soviel wie nötig zuzulassen. Die Kiosk-Anwendung wird dann als Shell eingetragen (statt explorer.exe) und das war es dann soweit.

Eine Suche bei google bringt die nötigen Erkenntnisse.

Kostas 21. Okt 2024 15:30

AW: Kiosk Mode
 
Hallo zusammen,
Ich habe die gleiche Anforderung meine Delphi Anwendung in Kiosk Mode laufen zu lassen unter Windows 11 Pro.
In diversen Beiträgen habe ich gelesen dass das unter Windows 11 Pro nicht gehen soll.
Ich habe es probiert einen neuen User anzulegen. Danach den Kiosk mode Versucht zu aktivieren. Dabei kann ich meine Anwendung nicht auswählen. Daraufhin habe ich mit inosetup ein Instanz angelegt damit die Anwendung unter Software zu sehen ist. Die Anwendung muss irgendwie als Shell bereitgestellt werden. Darüber habe ich nichts gefunden.

Hat mir jemand einen Hinweis?

Sherlock 22. Okt 2024 10:33

AW: Kiosk Mode
 
Nur Universal Windows Provisioning-Apps (UWP) können im Kiosk-Modus bereitgestellt werden.

himitsu 22. Okt 2024 10:41

AW: Kiosk Mode
 
Also das, wo sich so einige seit 12 Jahren den Compiler für wünschen, was aber Delphi nicht kann. :stupid:

johndoe049 22. Okt 2024 10:51

AW: Kiosk Mode
 
Zitat:

Zitat von himitsu (Beitrag 1542403)
Also das, wo sich so einige seit 12 Jahren den Compiler für wünschen, was aber Delphi nicht kann. :stupid:

Warum eigentlich? Wie unterscheiden sich die Universal Windows Provisioning-Apps von normalen Apps, das Delphi die nicht erstellen kann.

Kann man eigentlich mit Universal Windows Provisioning-Apps auf Hardwaredaten über IOCtrl und WMI zugreiffen?

Kostas 22. Okt 2024 11:15

AW: Kiosk Mode
 
Vielen Dank, dann muss es eben ohne Kiosk-Mode gehen.

fisipjm 22. Okt 2024 11:30

AW: Kiosk Mode
 
Zitat:

Zitat von himitsu (Beitrag 1542403)
Also das, wo sich so einige seit 12 Jahren den Compiler für wünschen, was aber Delphi nicht kann. :stupid:

War UWP nicht die Windows Store Geschichte? Das geht doch mit FMX, oder gibt's da nochmal unterschiede :?:

himitsu 22. Okt 2024 12:02

AW: Kiosk Mode
 
Nein. Im Store können normale und UWP-Apps drin sein.

PS: Bei der ganz kleinen Windows-Version (Starter heißt/hieß die mal) können nur UWP-Apps installiert werden und auch nur ausschließ aus dem AppStore.

(mit den Namen/bezeichnungen bin ich nicht mehr ganz aktuell, bzw. vergess es ständig wieder)

Im Prinzip ist es grundsätzlich erstmal eine andere API und ein anderes GUI-Framework.
Wir nutzen die Win32-API (auch für 64 Bit-Anwendungen) und das GDI (in der VCL)
und UWP nutzt das, was mal als WinRT mit Windows 8 angefangen wurde.


https://learn.microsoft.com/de-de/wi...nd-winrt-apis/
https://learn.microsoft.com/de-de/wi...ic-desktop-app


Da viele coole API aber nur im UWP eingebaut wurden, nicht in Win32,
nutzen wir aber auch eine Bridge, um im Delphi Funktionen davon nutzen zu können. (ich glaub z.B. für Bluetooth und Benachrichtigungscenter oder so)

Sherlock 22. Okt 2024 12:15

AW: Kiosk Mode
 
Ah, Moment. Das sollte kein "Geht nicht" sein. Nur ein "Geht, aber kompliziert".
Du musst Deine Delphi Anwendung zu einer UWP Anwendung machen. Dazu dieser Anleitung folgen: https://blogs.embarcadero.com/learn-...crosoft-store/. Denn für den Kiosk Mode gilt auch, daß jede App, die im Microsoft Store verfügbar ist, verwendet werden kann. Dann sollte es weiter gehen, wie bei MS oder auch hier bei einem Anbieter für Kiosk-Software beschrieben.

himitsu 22. Okt 2024 12: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 21: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 16: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 18: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 21:00 Uhr.

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 by Thomas Breitkreuz