Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tastatur Sperren, Maus nich? (https://www.delphipraxis.net/62087-tastatur-sperren-maus-nich.html)

FlinkerFinger 30. Jan 2006 20:41


Tastatur Sperren, Maus nich?
 
Hi leutz =)

Ich weis das thema wurde hier schon oft angesprochen, jedoch waren die Antworten für mich (Anfänger) nicht ausreichend =/

Also würde mich freuen, wenn mir jmd. unter die Arme greifen könnte ;)

Habe folgendes Problem:
Schreibe gerade an einem Programm, welches über eine Tastenkombination ein Form öffnet und es maximiert. <-- soweit bin ich gekommen.
Sinn sollte es eigentlich sein, dass der Rechner nach der Tastenkombination gesperrt ist und nur mit der Tastenkombination wieder entsperrt. ( Habe keine Schädlichen Sachen damit vor, sondern will nur meinen PC vor dem ungewollten Gebrauch meines Bruders schützen, wenn ich mal nicht daheim bin und der Rechner rattert).

Nun kommt aber ein Problem hinzu. Der sonst so hilfreiche Retter in der Not, der TaskManager, lässt sich nicht abschalten, bzw. die Tastenkombination deaktivieren, mit dem man das Form/die Anwendung einfach schliesst.

Meine Lösung wäre da: Tastatur komplett sperren und nur noch die Maus bleibt aktiviert, mit der man dann nach dem "sperren" auf dem Form eine Buttonfolge anklickt (wie nen Pin) mit der man sie wieder aktiviert und gleichzeitig "entsperrt".

Hat jmd. ne Idee die mir weiterhilft ?

Würde mich über jeden Codebrocken schon sehr freuen, da ich halt wie gesagt Anfänger bin.

Danke schonmal im Vorraus über jeden Beitrag.

MfG.

P.s. fals es weiterhilft ich arbeite mit WinXP

DGL-luke 30. Jan 2006 20:50

Re: Tastatur Sperren, Maus nich?
 
Passwort für dein Konto
Windows-Taste + L

Und lass dir gesagt sein: Nichts, was du mit Delphi (noch dazu als Anfänger) programmieren kannst, wird so sicher sein wie das!

FlinkerFinger 30. Jan 2006 20:58

Re: Tastatur Sperren, Maus nich?
 
kann ich nicht alle tasten per hook belegen und denen dann einfach nix zuweisen ? Jedoch weis ich nicht genau wie das geht, besonders die sondertasten und Funktionstasten. Gibt es da einen Weg oder ne Funktion oder ne schleife, mit der man gleich bereiche hooken kann und denen dann nix zuweist... also so nen paar zeilen schnell und bündig. Nicht gleich für jede Taste einzeln 3-6 Zeilen...

DGL-luke 30. Jan 2006 21:06

Re: Tastatur Sperren, Maus nich?
 
Was spricht denn bitte schön dagegen, einfach die Workstation zu locken?

FlinkerFinger 30. Jan 2006 21:12

Re: Tastatur Sperren, Maus nich?
 
wahrscheinlich nicht viel ... jedoch will es einfach coden, auch wegen des Lerneffektes. Ich meine: was spricht den dagegen, wenn ich schonmal Delphi habe es zu Coden ?! :zwinker:

SirThornberry 30. Jan 2006 21:13

Re: Tastatur Sperren, Maus nich?
 
dagegen spricht eigentlich nur das es nicht möglich ist (dank dem sicherheitskonzept von Windows). Einzige Möglichkeit wäre die Gina-Dll auszutauschen welche aktiv wird wenn man "Strg+Alt+Entf" drückt.

FlinkerFinger 30. Jan 2006 21:16

Re: Tastatur Sperren, Maus nich?
 
kann man dem nicht entgegenwirken, wenn man diese Tasten in seinem Programm Hookt ?

SirThornberry 30. Jan 2006 21:17

Re: Tastatur Sperren, Maus nich?
 
nein, sonst wäre ja das ganze sicherheitskonzept von Windows sinnlos wenn man sich überall rein-hooken könnte.

FlinkerFinger 30. Jan 2006 21:22

Re: Tastatur Sperren, Maus nich?
 
hmm ... okay... habe da aber ne idee, kannst du mir nur sagen wie ich auf alt nen hook "lege" und diese taste mit einer anderen Funtion/Procedure belegen... aber bitte anfängerfreundlich...

Wäre dir sehr verbunden ;)

3_of_8 30. Jan 2006 21:25

Re: Tastatur Sperren, Maus nich?
 
Also ein Tutorial zu Tastatur-Hooks findest du bei http://dsdt.info

SirThornberry 30. Jan 2006 21:40

Re: Tastatur Sperren, Maus nich?
 
wenn du hoffst durch einen hook auf die Alt-Taste (im übrigen hat man einen Hook auf die gesamte Tastatur und nicht nur auf eine Taste) diese heraus filtern zu können damit "Strg+Alt+Entf" nicht zu stande kommt muss ich dich enttäuschen. Das funktioniert nicht. Führ dir einfach vor Augen das es schon zig andere vesucht haben und das Microsoft sich bei der Entwicklung manchmal etwas denkt. Die werden da keinen 3 jährigen dran gesetzt haben der keinen Platz hat sondern das haben Leute programmiert die wissen was sie tun und wie man das relativ sicher macht.

FlinkerFinger 30. Jan 2006 21:51

Re: Tastatur Sperren, Maus nich?
 
Ich habe ja auch nur eine Idee... lass es mich doch versuchen ;) und wenn es klappt kann ich dir ja ne email mit dem code schicken, damit die eventuelle Entwicklungszeit von 3 Jahren von Microsoft nicht gefährdet is :angel:

FlinkerFinger 30. Jan 2006 21:53

Re: Tastatur Sperren, Maus nich?
 
Jedoch ... kannst du mir nicht schnell sagen, wie ich das mit alt mache ? habe nicht mehr die zeit heute mir das wissen über hooks anzueignen. Ich hole es aber morgen gerne nach!

3_of_8 30. Jan 2006 22:02

Re: Tastatur Sperren, Maus nich?
 
Ich könnte mich irren, aber hat er nicht gesagt, dass das nicht geht?

Und außerdem gibt es hier einen Button namens "Edit".

FlinkerFinger 30. Jan 2006 22:26

Re: Tastatur Sperren, Maus nich?
 
In wie fern glaubst du das dieser Beitrag auch nur irgendjmd. weiterhilft 3_of_8 ?? Ich bin mit meinen Paar Beiträgen bestimmt kein Spammer oder was auch immer... und ja, er hat gesagt das es nicht geht... manche menschen haben aber auch behauptet: " Menschen auf dem Mond ?!? Pah das geht nicht und auch nicht in der zukunft. Es geht einfach nicht!! :warn: ". Naja es geht doch wie du sicher weist... Ein glück sind nicht alle Menschen solche schwarzmaler wie du :hello:

Und bitte verweise mich nicht auf die Forenregeln wo doppelposting nicht erlaubt ist... das wäre echt lächerlich :???:

Luckie 30. Jan 2006 22:43

Re: Tastatur Sperren, Maus nich?
 
Lass es dir gesagt sein: Mit einem Hook kommst du nicht weiter. Diese Tastenkombination wird vom lowlevel Tastaturtreiber abgefangen und an die Winlogon.exe weitergeleitet. Dein Tastatur-Hook kommt aber erst viel später zum Zug. Da kannst du dich auf den Kopf stellen und das versuchen dir hier alle zu sagen. Das hat nichts mit Menschen auf dem Mond zu tun. Es geht einfach nicht. Punkt.

Also entweder du ersetzt die Gina.dll odeer schreibst einen eigenen Tastaturtreiber.

CG2003 30. Jan 2006 22:49

Re: Tastatur Sperren, Maus nich?
 
Zitat:

Zitat von Luckie
Es geht einfach nicht. Punkt.

Ich kann nur soviel dazu sagen, das ich es mal sage und schreibe eine Woche lang probiert habe, das Windows-Sicherheitssystem was diese Tatenkombination angeht, zu umgehen. Das einzige was ich erreicht habe ist, das ich um eine Erfahrung sowie die Tatsache, das es definitiv nicht möglich ist (ausser die GINA.dll zu ersetzen bzw. einen Tastaturtreiber zu programmieren) reicher bin.

Desweiteren sollte man auch darauf achten, welchen Umgangston man hier verwendet.

FlinkerFinger 30. Jan 2006 23:02

Re: Tastatur Sperren, Maus nich?
 
Hi ihr beiden.
Ich will es doch nur ausprobieren... Und ich finde es einfach schade, denn man in solchen foren eine Frage reinstellt, in der hoffnung das sie evtl. jmd antwortet und mit der noch größeren Hoffnung das man mit der Antwort dann noch was anfagen kann, jedoch nur meist eine gegenfrage bekommt oder gesagt bekommt das es nicht geht...

Das ist wie mit einem kleinem Kind das gesagt bekommt: fasse nicht auf die heisse Herdplatte und es dann aber doch gerade aus diesem Grund macht weil man es gesagt hat....

Und der Umgangston war meiner meinung nach nicht gerde schlecht oder ? wenn ich mich irre dann sage mir bitte ab wann genau und vor allem wo genau dieser nicht passend war ?

In diesem Sinne : Ich liebe euch alle Gn8 ;) und evtl. bis morgen

Luckie 30. Jan 2006 23:10

Re: Tastatur Sperren, Maus nich?
 
Zitat:

Zitat von FlinkerFinger
Ich will es doch nur ausprobieren... Und ich finde es einfach schade, denn man in solchen foren eine Frage reinstellt, in der hoffnung das sie evtl. jmd antwortet und mit der noch größeren Hoffnung das man mit der Antwort dann noch was anfagen kann,

Wie sollen wir dir eine Antwort geben, mit der du was anfangen kannst, wenn es diese Antwort nicht gibt? Die einzige Antwort die es eben gibt ist die, dass es so nicht geht, wie du es machen willst. Da kannst du noch so boickig in der Ecke stehen und mit dem Fuß aufstampfen. ;)

Daniel G 30. Jan 2006 23:23

Re: Tastatur Sperren, Maus nich?
 
Zitat:

Zitat von FlinkerFinger
Das ist wie mit einem kleinem Kind das gesagt bekommt: fasse nicht auf die heisse Herdplatte und es dann aber doch gerade aus diesem Grund macht weil man es gesagt hat....

Hach....

Also:

Mama zu kleinem Kind:

"Fass' ja nicht auf die heiße Herdplatte!"

Kind:

"Warum?"

Mama:

"Du wirst dir wehtun!"

Kind:

*patsch*

:cry: :cry:

Mama:

"Ich habe dir ja gesagt, dass du dir wehtun wirst"


Zitat:

Zitat von FlinkerFinger
Hi ihr beiden.
Ich will es doch nur ausprobieren...

Bei dir wird es genauso wie mit dem kleinen Kind laufen. Und wenn du es trotz allem zu erwartenden Misserfolg probieren willst, dann nutze einfach den Link von 3_of_8.

Unter Windows 95/98 geht es allerdings (imho)...

Luckie 31. Jan 2006 00:29

Re: Tastatur Sperren, Maus nich?
 
Laßt uns bitte diese Diskussion auf einer sachlichen Ebene führen.

FlinkerFinger 31. Jan 2006 06:25

Re: Tastatur Sperren, Maus nich?
 
Zitat:

Zitat von Daniel G
Und wenn du es trotz allem zu erwartenden Misserfolg probieren willst, dann nutze einfach den Link von 3_of_8.

Das werde ich auch machen... bzw. so ein bisschen habe ich da schon reingeschaut... scheint nicht so sehr schwer zu sein wie ich es in Errinerung hatte...

perle 31. Jan 2006 07:07

Re: Tastatur Sperren, Maus nich?
 
Zitat:

Zitat von CG2003
Zitat:

Zitat von Luckie
Es geht einfach nicht. Punkt.

Ich kann nur soviel dazu sagen, das ich es mal sage und schreibe eine Woche lang probiert habe, das Windows-Sicherheitssystem was diese Tatenkombination angeht, zu umgehen. Das einzige was ich erreicht habe ist, das ich um eine Erfahrung sowie die Tatsache, das es definitiv nicht möglich ist (ausser die GINA.dll zu ersetzen bzw. einen Tastaturtreiber zu programmieren) reicher bin.

Desweiteren sollte man auch darauf achten, welchen Umgangston man hier verwendet.



Zitat:

Zitat von Assarbad
Was du machen mußt, ist die:
WlxLoggedOnSAS() zu hooken und auf WLX_SAS_TYPE_CTRL_ALT_DEL zu testen. Damit kannst du selbst die Weiterleitung zur gleichnamigen Funktion der ursprünglichen GINA verhindern.


Daniel G 31. Jan 2006 10:54

Re: Tastatur Sperren, Maus nich?
 
Zitat:

Zitat von perle
Zitat:

Zitat von Assarbad
Was du machen mußt, ist die:
WlxLoggedOnSAS() zu hooken und auf WLX_SAS_TYPE_CTRL_ALT_DEL zu testen. Damit kannst du selbst die Weiterleitung zur gleichnamigen Funktion der ursprünglichen GINA verhindern.


Blubb? Ich dachte, unter NT geht das nicht mehr. Dann ist an der Geschichte mit dem Mond ja doch was Wahres dran...

@Luckie:
'tschuldigung, aber es brannte mir so unter den Nägeln. :zwinker:

@Threadersteller:
höhö... Unter Windows XP funktioniert das auch einfach mit einem Eintrag in der Registry. Allerdings ist es dann auch nicht mehr möglich, Programm zu beenden, die abgeraucht sind. Insofern wohl nicht das Wahre...

Link:
http://msdn.microsoft.com/msdnmag/is...A/default.aspx

Geht es dir eigentlich nur noch um Strg+Alt+Entf?

perle 31. Jan 2006 11:02

Re: Tastatur Sperren, Maus nich?
 
Zitat:

Zitat von Daniel G
Blubb? Ich dachte, unter NT geht das nicht mehr. Dann ist an der Geschichte mit dem Mond ja doch was Wahres dran...

Geht, habs grad ausprobiert. Ist zwar noch etwas unschön, da beim drücken von ctrl+alt+del noch ein kleines Flackern zu sehen ist....aber es geht.....für bessere Änderungen müsste man wohl die Gina austauschen und im WlxNegotiate und durch WlxSetOption
WLX_OPTION_USE_CTRL_ALT_DEL auf False (0) setzen, dann würde auch das Flackern nichtmehr angezeigt.

FlinkerFinger 31. Jan 2006 11:41

Re: Tastatur Sperren, Maus nich?
 
na goil... es geht... hmmm aber was genau muss ich da jetzt machen ?

@ Perle kannste nicht mal den code irgendwie zugänglich machen ?

perle 31. Jan 2006 13:30

Re: Tastatur Sperren, Maus nich?
 
Ehrlich gesagt bin ich mir nicht sicher, ob ich das tun soll. Du sagst, du willst das aus Lernzwecken machen, aber dir einfach Code geben zu lassen und ihn zu kompilieren ist nichts, wobei man etwas lernt.

Beschäftige dich einfach ein wenig mit API-Hooking/DLL-Injecting, das ist schonmal kompliziert genug.

Danach musst du im Prinzip nur vor aufruf der o.g. Funktion abfragen, ob ctrl+alt+entf gedrückt wurde und einen entsprechenden Rückgabewert zurückliefern.

Code:
const
  WLX_SAS_TYPE_CTRL_ALT_DEL = 1;
  WLX_SAS_ACTION_NONE = 2;

var
  OldWlxLoggedOnSAS : function(pWlxContext : Pointer;dwSasType : DWORD;pReserved : Pointer) : Integer; stdCall;

function NewWlxLoggedOnSAS(pWlxContext : Pointer;dwSasType : DWORD;pReserved : Pointer) : Integer; stdCall;
begin
  if dwSasType = WLX_SAS_TYPE_CTRL_ALT_DEL then
    result := WLX_SAS_ACTION_NONE
  else
    result := OldWlxLoggedOnSAS(pWlxContext,dwSasType,pReserved);
end;

FlinkerFinger 31. Jan 2006 22:16

Re: Tastatur Sperren, Maus nich?
 
Natürlich lernt man dabei etwas ;) Und nicht nur wie man kopiert und einfügt, sondern auch wie dann der Code den man bekommen hat funktioniert... natürlich gilt das nur , wenn man es auch versucht heraus zu bekommen!

Zitat:

Zitat von perle
Beschäftige dich einfach ein wenig mit API-Hooking/DLL-Injecting, das ist schonmal kompliziert genug.

Ja das habe ich gemerkt, habe mir nen paar Tuts über Hooks angesehen und war doch sehr erstaunt was man da schon alles wissen muss. :coder2:
Habe leider auch im moment nicht zu viel Zeit da ich eine Präsentation vorbereiten muss :kotz: Aber danach werde ich deinen Code analysieren und was ich sonst noch brauche studieren.


P.S. Ich wollte nochmal ein danke schön an die gesammte Runde werfen ! :balloon:

F.W. 26. Apr 2006 14:16

Re: Tastatur Sperren, Maus nich?
 
Ich weiß dass es jetzt schon länger her ist, aber da ich gerade durch die Suche über diesen Thread gestolpert bin, geb ich mal schnell meinen Senf dazu:

Es gibt in der Registry einen Schlüssel, da kann man den TaskManager (also auch STRG+ALT+ENTF ) sperren!

HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\System

Und dort einen DWORD Wert erstellen:

DisableTaskMgr

Wenn 1 dann ist das Ding gesperrt, wenn 0 gehts!

Für die Nachwelt ;)

faux 25. Jul 2006 16:45

Re: Tastatur Sperren, Maus nich?
 
Zitat:

Zitat von F.W.
Ich weiß dass es jetzt schon länger her ist, aber da ich gerade durch die Suche über diesen Thread gestolpert bin, geb ich mal schnell meinen Senf dazu:
Es gibt in der Registry einen Schlüssel, da kann man den TaskManager (also auch STRG+ALT+ENTF ) sperren!
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\System
Und dort einen DWORD Wert erstellen:
DisableTaskMgr
Wenn 1 dann ist das Ding gesperrt, wenn 0 gehts!
Für die Nachwelt ;)

Es ging ja nicht darum, den Taskmanager zu sperren, sondern die Tasteknombination Strg+Alt+Entf. ;)

Grüße
Faix

jakobwenzel 25. Jul 2006 17:34

Re: Tastatur Sperren, Maus nich?
 
Und man muss nen Reboot machen damit die Änderung wirkt.

faux 25. Jul 2006 17:44

Re: Tastatur Sperren, Maus nich?
 
Zitat:

Zitat von jakobwenzel
Und man muss nen Reboot machen damit die Änderung wirkt.

Welche Änderungen? Die Policies greifen sofort - auch ohne Neustart. Es sei denn, sie wurden über eine Domain gesetzt und nicht Lokal. Da müsste man sich dann neu anmelden, oder per gpupdate händisch die neuen Policies ziehen.

Grüße
Faux


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:48 Uhr.

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