AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows 8

Ein Thema von kuba · begonnen am 7. Feb 2012 · letzter Beitrag vom 31. Aug 2012
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AW: Windows 8

  Alt 9. Feb 2012, 08:23
Inzwischen habe ich gemerkt, je mehr du versuchst Windows unter Kontrolle zu bekommen desto schneller holt es dich ein und bekommt Kontrolle über dich ...
Und genau das war damit gemeint, dass du gegen Windows programmierst. Nutze die Möglichkeiten, die dir Windows bietet und versuch nicht Windows so hinzubiegen wie du es gerne hättest. Windows wurde wohl ursprünglich nicht für solche Kiosk-Systeme geschaffen, deswegen werden die Möglichkeiten es entsprechend zu beschränken auch nicht unbedingt von Windows bereit gestellt. Ja, ich weiß, dass es solche Software gibt, selbst von Microsoft selbe (zumindest für XP), aber ich möchte nicht sehen, was da für Sauereien im Quellcode versteckt sind.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.948 Beiträge
 
Delphi 12 Athens
 
#2

AW: Windows 8

  Alt 9. Feb 2012, 08:45
Windows wurde wohl ursprünglich nicht für solche Kiosk-Systeme geschaffen, deswegen werden die Möglichkeiten es entsprechend zu beschränken auch nicht unbedingt von Windows bereit gestellt.
Deshalb wird meistens ja auch keine so radikale Lösung benutzt, sondern in 99% der Fälle, die ich kenne (Internetcafés, Hotel-PCs, ...), schlicht per Policy usw. alles so eingeschränkt, dass man ruhig z.B. das Startmenü über die Windows-Taste aufrufen darf. Man kann nur nichts damit machen, weil so gut wie nix drin ist.

Das hat den selben Effekt (der Benutzer kann keinen Unsinn machen), aber man braucht keinen großen Aufwand treiben, weil man nur vorgesehene Funktionalität nutzt. Zusatzsoftware mit Hooks usw. braucht man dann überhaupt nicht.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Windows 8

  Alt 9. Feb 2012, 11:25
Windows wurde wohl ursprünglich nicht für solche Kiosk-Systeme geschaffen, deswegen werden die Möglichkeiten es entsprechend zu beschränken auch nicht unbedingt von Windows bereit gestellt.
Deshalb wird meistens ja auch keine so radikale Lösung benutzt, sondern in 99% der Fälle, die ich kenne (Internetcafés, Hotel-PCs, ...), schlicht per Policy usw. alles so eingeschränkt, dass man ruhig z.B. das Startmenü über die Windows-Taste aufrufen darf. Man kann nur nichts damit machen, weil so gut wie nix drin ist.

Das hat den selben Effekt (der Benutzer kann keinen Unsinn machen), aber man braucht keinen großen Aufwand treiben, weil man nur vorgesehene Funktionalität nutzt. Zusatzsoftware mit Hooks usw. braucht man dann überhaupt nicht.
Hoppla, habe ich gerade erst gelesen. Meine Kundschaft hat aber spezielle Wünsche daher sind meine "Spezialfunktionen" inzwischen recht gefragt. Und es ist ja auch nicht so dass es keinen Sinn machen würde spezielle Funktionen zur Verfügung zu stellen die das Betriebssystem so nicht bietet.

Nur weil ich das Thema konsequent über Jahre verfolgt habe und das Konzept ständig verbessert habe hat mein KIOSK Programm einen gewissen Stellenwert eingenommen.

Sowas kann man nunmal nicht "aus dem Bauch heraus" mal eben schnell programmieren. Als ich angefangen habe das KIOSK Programm zu entwickeln, war es für einen Windows 2000 PC gedacht. Ich hab das damals ganz schnell hingekriegt. Aber um alles abzudecken, da muß die richtige Entwicklungsumgebung am Start sein und das Programm muss auf allen möglichen Plattformen getestet werden.

Es wurde mir auch nicht in die Wiege gelegt Delphi zu "können", nee ich musste das alles auch erst "lernen".

Nun denn, Angriff auf Windows 8, ich krieg das schon hin

KUBA
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.948 Beiträge
 
Delphi 12 Athens
 
#4

AW: Windows 8

  Alt 9. Feb 2012, 12:31
Meine Kundschaft hat aber spezielle Wünsche daher sind meine "Spezialfunktionen" inzwischen recht gefragt.
Dass es bei dir so sein soll, davon bin ich mal ausgegangen. Sonst hättest du kaum solchen Aufwand betrieben.

Nebenbei:
Wie wäre es einfach auf einen eigenen Desktop zu schalten? Dann kommt der Benutzer schlicht an gar nichts heran außer dort laufende Programme (von dir gestartet), da kann er die Tastatur an die Wand werfen oder drauf rumbeißen . Das Prinzip nutzen ja auch die UAC und der Dienstmanager.
Da braucht man dann auch nicht die ganzen Hooks usw.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Windows 8

  Alt 9. Feb 2012, 13:08
Nebenbei:
Wie wäre es einfach auf einen eigenen Desktop zu schalten? Dann kommt der Benutzer schlicht an gar nichts heran außer dort laufende Programme (von dir gestartet), da kann er die Tastatur an die Wand werfen oder drauf rumbeißen . Das Prinzip nutzen ja auch die UAC und der Dienstmanager.
Da braucht man dann auch nicht die ganzen Hooks usw. [/QUOTE]

Guter Tip, so ein Konzept wollte ich schon mal angehen. Hab es aber noch nicht getan. Hatte mir überlegt, daß ja zuerst ein User angemeldet werden muss. Und weil der ja sowieso einen Desktop hat wäre es doch am einfachsten diesen einzuschränken.

Aber das schaue ich mir nochmal genau an, vielleicht ist das gar nicht mal schlecht und vielleicht auch in das vorhandene Konzept zu integrieren.

Übrigens von wg. Hooks, könnte es sein daß so ein Hook eine hohe CPU Auslastung mit sich bringt ??

KUBA
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Windows 8

  Alt 9. Feb 2012, 13:25
Ein erster einfacher Ansatz: http://www.michael-puff.de/Programmi...hDesktop.shtml
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.360 Beiträge
 
Delphi 12 Athens
 
#7

AW: Windows 8

  Alt 20. Mär 2012, 21:24
Dein Code funktioniert zwar, aber nur in dem Testprogramm.

Füge ihn mal in eine normale Anwendung ein und starte diese Prozedur über einen Button.

Verwende aber besser diese Variante, denn bei deiner wirst du nicht froh werden.
Delphi-Quellcode:
procedure BaitAndSwitchDesktop;
var
  OldDesk, NewDesk: HDESK;
begin
  OldDesk := GetThreadDesktop(GetCurrentThreadID);
  NewDesk := CreateDesktop(PChar('Foobar'), nil, nil, 0, DESKTOP_CREATEWINDOW or
    DESKTOP_SWITCHDESKTOP or DESKTOP_CREATEMENU, nil);
  if NewDesk <> 0 then
  begin
    try
      if SetThreadDesktop(NewDesk) and SwitchDesktop(NewDesk) then
        MessageBox(0, 'Here I am', 'Foobar Desktop', MB_ICONINFORMATION)
      else
        RaiseLastOSError;
    finally
      SwitchDesktop(OldDesk);
      SetThreadDesktop(OldDesk);
      CloseDesktop(NewDesk);
    end;
  end else
    RaiseLastOSError;
end;
Erstmal sollte man sicher sein, daß man keine wichtigen und ungespeicherten Daten offen hat.
Dann führe man deine Prozedur aus und fühle sich in dem neuen Desktop eingesperrt.
Strg+Alt+Entf funktioniert zwar, aber den Taskmanager kann man vergessen, denn dieser öffnet sich nur im Hauptdesktop und man sieht ihn daher garnicht.

Denn SetThreadDesktop funktioniert nur, wenn noch kein Fenster in dem Thread erstellt, bzw. wenn noch keine Messagequeue für diesen Thread initialisiert wurde.
MessageQueues sind an je einen Thread gebunden und Fenster sind an Desktops gebunden ... ein Wechsel ist nicht möglich.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.948 Beiträge
 
Delphi 12 Athens
 
#8

AW: Windows 8

  Alt 9. Feb 2012, 13:30
Übrigens von wg. Hooks, könnte es sein daß so ein Hook eine hohe CPU Auslastung mit sich bringt ??
Nur wenn er falsch programmiert ist.
Nämlich dann, wenn er manchmal dafür sorgt, dass Schleifen entstehen, indem selbst wieder Tasten ausgelöst werden oder sowas.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Windows 8

  Alt 9. Feb 2012, 09:36
Da solltest du mal sehen was für Sauereien ich in meinem Quellcode anstelle (Scherz).

Ich werde Windows 8 schon noch knacken

KUBA
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:09 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-2025 by Thomas Breitkreuz