AGB  ·  Datenschutz  ·  Impressum  







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

STRG+ESC ... Sperren (Hooks?)

Ein Thema von quizzmaster · begonnen am 30. Jan 2005 · letzter Beitrag vom 5. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
quizzmaster

Registriert seit: 25. Jan 2005
Ort: Frankfurt am Main
29 Beiträge
 
#1

STRG+ESC ... Sperren (Hooks?)

  Alt 30. Jan 2005, 13:21
Hi, ich weis was jetzt gleich kommt, benutz die Suchfunktion, aber ich habe jetzt mindestens ne halbe stunde gesucht und nix brauchbares dazu gefunden.

Ich will STRG+ESC u.ä. sperren (STRG+ALT+ENTF ist hinfällig, da ich Win XP mit dem neuen design benutze und da einfach den tasgmanager gesperrt hab).

Ich weis, dass das mit hooks funktioniert, ich hatte auch mal einen, allerdings für c++

wäre nett wenn ihr mir helfen könntet
mfg
quizzmaster
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: STRG+ESC ... Sperren (Hooks?)

  Alt 30. Jan 2005, 13:34
Schaue mal hier:

http://www.swissdelphicenter.ch/en/showcode.php?id=1212
Thomas
  Mit Zitat antworten Zitat
quizzmaster

Registriert seit: 25. Jan 2005
Ort: Frankfurt am Main
29 Beiträge
 
#3

Re: STRG+ESC ... Sperren (Hooks?)

  Alt 30. Jan 2005, 13:53
Danke, das hilft mir schon sehr weiter, nur bräucht ich noch einen anhaltspunkt, was ich im quelltext der dll dazuschreiben muss, damit ALT+TAB auch nicht mehr geht, der rest ist da ja schon drinne
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: STRG+ESC ... Sperren (Hooks?)

  Alt 30. Jan 2005, 22:33
Hat das irgend einen Grund warum du das machen willst? Denn dem Benutzer den Taskmanager sperren ist nicht gerade sehr schön. Microsoft hat sich schon was dabei gedacht, dass man Strg+Alt+Entf nicht so einfach sperren kann. Ist ungefähr so, als wenn du aus einem Zug alle Notbremsen ausbaust.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von CReber
CReber

Registriert seit: 26. Nov 2003
Ort: Berlin
343 Beiträge
 
Delphi 2006 Professional
 
#5

Re: STRG+ESC ... Sperren (Hooks?)

  Alt 30. Jan 2005, 23:16
@Luckie: Irgendwie musste ich grinsen... Nahezu das selbe hast du auch mal zu mir gesagt

Ich brauchte das ebenfalls mal und habe daraus diese DLL gemacht: (kA woher ich das hatte)

Delphi-Quellcode:
library Project1;

uses
  Windows,
  Messages,
  SysUtils,
  Registry;

var
  g_hHookKbdLL: HHOOK = 0;
  g_hHookKbd: HHOOK = 0;
  HookHandle: Cardinal = 0;
  WindowHandle: Cardinal = 0;

const
  WH_KEYBOARD_LL = 13;
  LLKHF_ALTDOWN = 32;
  WM_HOOKMESSAGEID = WM_USER + 7328;
type
  KBDLLHOOKSTRUCT = record
                      vkCode: DWORD;
                      scanCode: DWORD;
                      flags: DWORD;
                      time: DWORD;
                      dwExtraInfo: DWORD;
                    end;
  PKBDLLHOOKSTRUCT = ^KBDLLHOOKSTRUCT;

function MyTaskKeyHookLL(nCode: Integer; wp: WPARAM; lp: LPARAM): LRESULT; stdcall;
var
  pkh: PKBDLLHOOKSTRUCT;
  bCtrlKeyDown: BOOL;
begin
  pkh:=PKBDLLHOOKSTRUCT(lp);

  if nCode=HC_ACTION then
  begin
    bCtrlKeyDown := GetAsyncKeyState(VK_CONTROL) shr ((sizeof(SHORT) * 8) - 1)<>0;
       // Ctrl+Esc
    if ((pkh^.vkCode=VK_ESCAPE) and bCtrlKeyDown) or
       // Alt+F4
       ((pkh^.vkCode=VK_F4) and (pkh^.flags and LLKHF_ALTDOWN=LLKHF_ALTDOWN)) or
       // Alt+TAB
       ((pkh^.vkCode=VK_TAB) and (pkh^.flags and LLKHF_ALTDOWN=LLKHF_ALTDOWN)) or
       // Alt+Esc
       ((pkh^.vkCode=VK_ESCAPE) and (pkh^.flags and LLKHF_ALTDOWN=LLKHF_ALTDOWN)) or
       // Start Menu
       ((pkh^.vkCode=VK_LWIN) or (pkh^.vkCode=VK_RWIN)) then
    begin
      result:=1;
      exit;
    end;
  end;
  result:=CallNextHookEx(g_hHookKbdLL, nCode, wp, lp);
end;

function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
  case nCode < 0 of
    TRUE: exit;
    FALSE: Postmessage(WindowHandle,WM_HOOKMESSAGEID,0,0);
  end;
end;

function DisableTaskKeys(bDisable: bool): bool; stdcall;
begin
  if bDisable then
  begin
    if g_hHookKbdLL=0 then
     g_hHookKbdLL := SetWindowsHookEx(WH_KEYBOARD_LL, MyTaskKeyHookLL, HInstance, 0);
  end
  else
  if g_hHookKbdLL<>0 then
  begin
    UnhookWindowsHookEx(g_hHookKbdLL);
    g_hHookKbdLL := 0;
  end;
  result:=g_hHookKbdLL<>0;
end;

function EnableKeyboardCheck(HWND: Cardinal; Activate: Boolean): boolean; stdcall;
begin
  if Activate = TRUE then
    begin
      Result := False;
      if HookHandle = 0 then begin
        HookHandle := SetWindowsHookEx(WH_KEYBOARD_LL, @KeyboardHookProc, HInstance, 0);
        WindowHandle := Hwnd;
        Result := TRUE;
      end;
    end
  else
    begin
      Result := UnhookWindowsHookEx(HookHandle);
      HookHandle := 0;
    end;
end;

exports
  DisableTaskKeys, EnableKeyboardCheck;

begin
end.
Christian Reber
  Mit Zitat antworten Zitat
quizzmaster

Registriert seit: 25. Jan 2005
Ort: Frankfurt am Main
29 Beiträge
 
#6

Re: STRG+ESC ... Sperren (Hooks?)

  Alt 31. Jan 2005, 14:15
Da muss ich jetzt auch mal grinsen

@Luckie: Wenn ihr alle wisst wie das geht, warum kommt sowas nicht mal in die FAQ, dann können interesierte da einfach schauen und das für ihre zwecke nutzen.

Ich brauche das für einen Presentationsbrowser der am Tag der offenen Tür an meiner Schule eingesetzt werden soll und die kleinen Kinder und die Eltern nicht irgendwas anderes an den Rechnern machen sollen.

Das Strg+Alt+Entf nicht zu sperren geht ist mir klar, das brauch ich jetzt auch nicht so unbedingt, mir reicht schon wenn ich abmelden und herunterfahren sperren kann, Die tastenkombinationen stehen hier und taskmanager hab ich auch schon gefunden.
  Mit Zitat antworten Zitat
quizzmaster

Registriert seit: 25. Jan 2005
Ort: Frankfurt am Main
29 Beiträge
 
#7

Re: STRG+ESC ... Sperren (Hooks?)

  Alt 2. Feb 2005, 15:08
gibts da eigentlich auch eine Variante ohne DLL?

weil für einen kleinen presentations browser möchte ich eigentlich nur ungerne eine dll benutzen.
greetz
quizzmaster

Ich weis, dass ich nichts weis, aber ich weis mehr als die, die nicht wissen, dass sie nichts wissen. Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#8

Re: STRG+ESC ... Sperren (Hooks?)

  Alt 2. Feb 2005, 15:09
Soweit ich weiß geht das nicht ohne DLL
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#9

Re: STRG+ESC ... Sperren (Hooks?)

  Alt 2. Feb 2005, 15:23
[SprachGammel]
Ohne Dll wird das nix... (weil wegen Globaler Hook)

PS:
Taskmanager kann man recht einfach Sperren:
1. TM mit SW_HIDE starten wenn er nicht schon läuft (sonst auf SW_Hide stellen)
2. Komischen TM TrayIcon weg machen...

der TM läuft zwar aber kann man so ohne weiteres nix mit machen... und da man die Karre nur einmal starten kann = Gewonnen
[/SprachGammel]
Greetz
Boombuler

Edit: Sprachgammel Tags hinzugefügt
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat
quizzmaster

Registriert seit: 25. Jan 2005
Ort: Frankfurt am Main
29 Beiträge
 
#10

Re: STRG+ESC ... Sperren (Hooks?)

  Alt 2. Feb 2005, 18:03
[Hinweis]
such mal hier Hier im Forum suchenTaskmanager deaktivieren

da gibts ne viel einfachere möglichkeit
[/Hinweis]
greetz
quizzmaster

Ich weis, dass ich nichts weis, aber ich weis mehr als die, die nicht wissen, dass sie nichts wissen. Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:45 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