Betriebssystem durch Programm blockieren

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Tuxing
Beiträge: 52
Registriert: 28. Oktober 2009 11:13

Betriebssystem durch Programm blockieren

Beitrag von Tuxing »

Hey Leute,
es klingt erstmal etwas merkwürdig, aber gibt es (evtl. mit Hilfe der WINAPI) eine Möglichkeit das Betriebssystem zu blockieren sobald mein Programm gestartet wird?

Die Aufgabe ist es ein Programm zu schreiben, dass (z.B. in einer Discothek) Musikwünsche oder ähnliches von den Kunden entgegen nimmt. Diese Liste könnte dann regelmäßig vom DJ abgefragt werden und er hätte eine Richtlinie für seine Playlist.

Das Problem ist, dass ja nun nicht einfach irgend ein Rechner mit Windows und nem Programm da rumstehen kann... da würd ich auch quatsch mit machen :p .. Also sobald das Programm gestartet ist darf (unter Windows) der Explorer nicht mehr bedienbar sein und Tastaturbefehle wie STRG + ALT + ENTF müssten ignoriert werden. Von mir aus kann der Rechner auch ein Linux Rechner sein .. wenns das einfacher macht.

Danke schonmal für Ideen.

Grüße
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Passenden WindowManager auswählen (ich denke Qt-Programme werden nicht ohne Window-Manager auskommen). Und unerwünschte Einträge in /etc/inittab auskommentieren.

In Windows ist soetwas sogut wie unmöglich.

Ansonsten gäbe es noch das Stichwort: Kiosk-Modus.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Ja.. ich würde auch in diese Richtung (Linux mit k(l)einem WindowManager (Fluxbox & CO)) Tests durchführen. "Kiosk-Modus" ist sicher das richtige Stichwort..

Je nach Einsatzort (Disco..) würde es sich evt. auch anbieten, eine spezielle Tastatur einzusetzen. Spritzwasserfest, Vandalensicher und evt. sogar stark redziert (z.B. ohne Control-Tasten).
Oder man könnte sogar ganz auf die Tastatur verzichten (Touchscreen mit virtuellem Keyboard, wie bei einem Ticketautomat).

hth!
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag von RavenIV »

upsala hat geschrieben: In Windows ist soetwas sogut wie unmöglich.
Stimmt nicht.
Auch bei Windows kann man den Window-Manager austauschen. In der Regel übernimmt dies "Explorer.exe" in einem speziellen Modus.
Man kann in der Registry eine andere exe einsetzen, dann läuft nur diese und alle Windows-Bedienelemente sind nicht vorhanden.

Man kann ein MS-Windows auch so beschneiden / konfigurieren, dass der User nix mehr machen kann.

Auch kann man eine Software so schreiben, dass sie alles (Startleiste, Taskleiste, Trayleiste, usw) überdeckt und alle Tastendrücke (Windows-Taste, STRG, usw) abblockt.

Da sind der Fantasie keine Grenzen gesetzt...
Linux, das längste Text-Adventure aller Zeiten
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ok, dann sagen wir halt: Es ist sehr schwer zu realisieren. Ich kenne verschiedene Versuche dies zu bewerkstelligen, und wir konnten bis jetzt alles als normaler User umgehen.
Tuxing
Beiträge: 52
Registriert: 28. Oktober 2009 11:13

Beitrag von Tuxing »

Hey Leute ..
danke für die vielen Antworten. Der "Kiosk-Modus" wäre definitiv ein Mittel der Wahl soweit ich mich darüber jetzt informiert habe. Für mich persönlich wäre das aber am liebsten nur die Alternative, da diese Variante wieder mit so vielen Einstellungen usw. verbunden ist.


RavenIV hatte ja geschrieben:
Auch kann man eine Software so schreiben, dass sie alles (Startleiste, Taskleiste, Trayleiste, usw) überdeckt und alle Tastendrücke (Windows-Taste, STRG, usw) abblockt.
Das wäre für mich die ideale Lösung. Wie man eine Software so entwickelt, dass Task-, Start- und Trayleiste überdeckt sind ist mir bekannt, allerdings wüsste ich gerne wie man die Tastendrücke blockt. STRG, ALT, ENTF ist ja (wenn man es so nennen will) ein Betriebssystem-Kommando, und das Betriebssystem steht über dem Programm. Es leitet die Tastatureingaben an das Programm weiter. Wie kann ich also mit Hilfe meines Programms das Betriebssystem anweisen solche Kombinationen zu ignorieren ?

Eine Erklärung oder ein Link zu einem Tutorial o.Ä. wäre Klasse.

Besten Dank
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag von padreigh »

Ich weiss ja nicht, aber wäre eine Fullscreen Qt Application nicht einfacher?
Einfach nur Monitor und Maus rausrücken, Tastatur (nach Start des Programms) wegschließen und Bildschirmtastatur anbieten - eventuell nichtmal das sondern eher eine Liste der vorhandenen Musikstücke / CDs / Platten und die Möglichkeit seinen Wunschhit zu wählen ...
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
Curtis Newton
Beiträge: 122
Registriert: 11. Juni 2008 18:39

Beitrag von Curtis Newton »

Tuxing
Beiträge: 52
Registriert: 28. Oktober 2009 11:13

Beitrag von Tuxing »

Ok, ich hab mir jetzt was zurechtgebastelt, für die die es interessiert. Es ist noch nicht final, aber die Idee ist die folgende:

Nachdem das Programm gestartet wurde, wird es in der Registry zwei Einträge verändern. Zum einen trägt es sich selber als Shell ein, anstelle des Explorers und zum anderen deaktiviert es den Taskmanager. Danach wird ein Neustart durchgeführt. Nach der Anmeldung kann der Benutzer nichts machen als das Programm zu bedienen.

Durch Eingabe eines speziellen Codes in die Eingabefelder und dem drücken eines Knopfes werden die Registryeinträge zurückgesetzt und das System neu gestartet. Danach ist alles wie vorher.

Ich überlege noch mein Programm einen speziell einen Windowsbenutzer dafür anlegen zu lassen und in der Registry nur die Einstellungen von diesem Account zu überschreiben. Der Benutzer heißt dann zB. "Kiosk-Mode" und somit ist auch sichergestellt, dass man durch den Standardbenutzer des System immer wieder den Explorer starten kann. Zudem würde man bei der Lösung mit dem "Kiosk-Mode Benutzer" nicht jedesmal in der Registry rumschreiben sondern nur einmal, was vrmtl. die Stabilität fördert.

Ich denke so werde ich das umsetzen. Wer weiteres Interesse daran hat was in der Registry zu ändern ist o.Ä. soll es hier posten dann gehe ich näher drauf ein.

Vielen Dank für eure Ideen. So sieht man doch immer verschiedene Ansätze was der Entwicklung förderlich ist.

Grüße
chrislo1976
Beiträge: 105
Registriert: 24. Februar 2008 09:45

Beitrag von chrislo1976 »

Moin!

Mich würde dieses Thema auch näher interessieren, evtl. kann ich das für eines unserer Projekte brauchen.

Ich würde also dein Angebot, näher darauf einzugehen, gern annehmen. Auch würde mich interessieren wie du den Taskmanager deaktivierst...

Danke!

Gruß,
Christian
Antworten