| |
VB & Windows APIRe: VBA Access Desktoplocking Programm | | | Autor: Zupa | Datum: 10.01.12 17:04 |
| Hallo Frank,
Entschuldige bitte, dass ich mich so missverständlich ausdrücke.
Sämtliche Implikationen von "der Anwender ist Laie" stellen sich für mich wie folgt und in diesem Satz dar: Alles, was zum Erreichen des gewünschten Zustandes zu leisten ist, muss das Programm übernehmen.
(Mit "explorer.exe beenden" meinte ich, das Programm beendet den Explorer (über WMI). Diesen Gendanken habe ich aber wieder verworfen. Grund: Möglichkeiten, ein Programm zu beenden, ein neues zu starten oder zwischen ihnen zu wechseln, die explorer.exe zur Verfügung stellt, wären zwar damit ausgeschaltet, jedoch beendet dies auch nützliche "Hintergrund"aktionen, wie Kopieren o.ä., die kurz vor dem Aktivieren des Kioskmodus vom Benutzer gestarten worden sein könnten und unbedingt ungestört weiterlaufen sollen.)
Der Anwender klickt auf eine Schaltfläche mit der Beschriftung "Kioskmodus starten" (o.ä.), schon geht's los und er oder sie muss sich keine Gedanken machen, dass jemand "einfach so" auf den Computer zugreifen kann. Durchaus bin ich mir bewusst, dass es höchstwahrscheinlich keinen Weg gibt, einen Computer inklusive Daten gleichzeitig existent und sicher zu halten. Wer es also darauf anlegt, kann selbstverständlich JEDEN (physikalischen und programmierten) Schutz umgehen, den sich andere Menschen ausdenken. Mein Programm soll lediglich verhindern, dass "mal eben so" auf persönliche Mails o.ä. zu gegriffen werden kann. Deshalb akzeptiere ich, dass ein Kaltstart von meiner Seite nicht zu verhindern ist, dass nur hoffentlich vorher für die Benutzeranmeldung ein sicheres Passwort eingerichtet wurde, dass jemand ein Bootfähiges Volume anschließt und sich Zugriff verschaffen kann. (Oder andere Maßnahmen, die Zeit und Überwindung kosten und vorraussetzen, dass jemand tatsächlich ein gewisses mindestmaß an krimineller Energie und Wissen mitbringt)
Vielen Dank für deine Gedanken zum Hintergrund der Benutzung also, aber selbstverständlich werde ich die Benutzer meines Programms über das (hoffentlich kleine) Restrisiko aufklären.
Danke auch, dass du mein Augenmerk darauf richtest, dass in besagtem Modus ein Formular zur Texteingabe geöffnet sein wird, die von der DB (intern) bearbeitet und aber vorher geprüft werden muss. Diese (dann hoffentlich einzig mögliche) Eingabe zu kontrollieren wird jedoch nicht mehr dieses Thema berühren.
Kurz noch zu den Anwendern. Es wird zwei Sorten geben: die einen (Moderatoren, Gruppenleiter) lassen das Programm auf ihrem PC laufen und möchten, dass die anderen (Teilnehmende) dort brav nur in das Programm Eingaben machen und dass das Zugreifen auf ihre(n) Computer/Dateien/Programme/Emails etc. verhindert wird. Eine moderne Möglichkeit, Seminar-/Freizeitbegleitende Spiele durchzuführen.
Ich möchte kurz zusammenfassen, was meine bisher erprobten Strategien sind:
1) -Eine Batchdatei wird erstellt und auf dem neu erstellten Desktop ausgeführt. (CreateProcess Api)
-Diese soll entweder die gegenwärtige DB beenden und wieder (auf dem neuen Desktop) öffnen oder eine temporäre DB auf dem neuen Desktop öffnen.
2) -Mit CreateProcess wird direkt eine temporäre Datenbank auf dem neuen Desktop geöffnet.
3) -Ein Thread (CreateThread Api) innerhalb von Access wird mit SetThreadDesktop auf den neuen Desktop
geschoben, der dort entweder ein Formular öffnet, oder ein schon geöffnetes dorthin verschiebt.
Diese drei Methoden werfen keinen Fehler auf sondern tun stattdessen einfach lieber gar nichts.
Ich hoffe, ich verstehe es richtig, dass es keine Funktion zum erstellen eines Fensters auf einem anderen Desktop gibt. Ich hoffe auch, dass es nicht nötig ist, den ProcessToken meiner DB zu manipulieren.
Liebe Grüße,
Zupa | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|