AGB  ·  Datenschutz  ·  Impressum  







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

bestimmte Tasten Sperren.

Ein Thema von Noobinator · begonnen am 9. Mai 2006 · letzter Beitrag vom 17. Mai 2006
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    
nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#21

Re: bestimmte Tasten Sperren.

  Alt 12. Mai 2006, 16:00
warum willst du keinen hook verwenden?
über n system-hook müsste das doch möglich sein.
  Mit Zitat antworten Zitat
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#22

Re: bestimmte Tasten Sperren.

  Alt 12. Mai 2006, 16:03
Das programm soll ich auf unseren Schulrechner zum laufen bringen,und da kann ich nicht an den Treibern rumspielen.
und wegen den hooks weiss ich nicht, kann man die einfach so einbinden? (habe davon 0 ahnung)
weiterhin hat mein Lehrer gesagt, das geht über eine Procedure, ohne etwas einzubinden und verwies mich auf invalidkey.

ach und wegen der taskleiste:

wie kann ich diese Procedure:

Delphi-Quellcode:
procedure SetStartBtnEnabled(const AEnabled: Boolean);
begin
  EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd',nil),
                            0,
                            'Button',
                            nil),
               AEnabled);
end;
ins Formcreate einbinden?
sorry für die vielen fragen aber ich bin noch ein Noob^^
  Mit Zitat antworten Zitat
monta

Registriert seit: 18. Okt 2004
Ort: Dresden
141 Beiträge
 
#23

Re: bestimmte Tasten Sperren.

  Alt 12. Mai 2006, 17:14
^^indem du einfach das hier ins Form-Create schreibst:
Delphi-Quellcode:
  EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd',nil),0,'Button',nil),true);
//bzw. das letzte true eben durch false ersetzen.
Johannes M.
  Mit Zitat antworten Zitat
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#24

Re: bestimmte Tasten Sperren.

  Alt 12. Mai 2006, 17:40
thx4help. jetzt fehlt nur noch die ALT taste
  Mit Zitat antworten Zitat
nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#25

Re: bestimmte Tasten Sperren.

  Alt 12. Mai 2006, 18:47
also strg+esc kannste mit diesem keyboard hook sperren.
Delphi-Quellcode:
library KeyboardHook;

uses
  Windows,
  SysUtils,
  Classes;

{$R *.res}

type
  TKeybDLLHookStruct = packed record
    vkCode: integer;
    scanCode: integer;
    flags: integer;
    time: integer;
    dwExtraInfo: integer;
  end;
  PKeybDLLHookStruct = ^TKeybDLLHookStruct;

const
  WH_KEYBOARD_LL = 13;

var
  hKeyHook: THandle;


function KeyboardProc_LowLevel(code: integer; wParam,   lParam: Integer): integer; stdcall;
var
  P: PKeybDLLHookStruct;
  KeyDown: Boolean;
begin
  if Code < 0 then
    result := CallNextHookEx(hKeyHook, Code, wParam, lParam)
  else
  begin
    P := Pointer(lParam);
    KeyDown := P^.flags = 0;

    if KeyDown and (P^.vkCode = VK_ESCAPE) and
      Bool($8000 and GetAsyncKeyState(VK_CONTROL)) then
      result := HC_SKIP
    else result := CallNextHookEx(hKeyHook, Code, wParam, lParam);
  end;
end;

procedure StartHook;
begin
  hKeyHook := SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc_LowLevel, HInstance, 0);
end;

procedure StopHook;
begin
  UnhookWindowsHookEx(hKeyHook);
end;

exports
  StartHook,
  StopHook;
  
begin
end.

bindeste so in dein prog ein:
Delphi-Quellcode:
interface
...
const
  HookDLL = 'KeyboardHook.dll';

  procedure StartHook; external HookDLL;
  procedure StopHook; external HookDLL;
rufst dann einfach beim OnCreate von deinem form
StartHook; und beim OnDestroy
StopHook; auf
  Mit Zitat antworten Zitat
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#26

Re: bestimmte Tasten Sperren.

  Alt 12. Mai 2006, 18:58
FRAGE: was ist ein hook, und wo muss ich das hinschreiben? einfach eine neue unit einbinden und das reinschreiben oder wie? ich habe davon keine Ahnung.
  Mit Zitat antworten Zitat
nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#27

Re: bestimmte Tasten Sperren.

  Alt 12. Mai 2006, 19:12
Datei->Neu->Weitere->DLL-Experte (so is es zumindest bei mir mit d7).
und oben haste den kompletten quellcode für die dll. einma übersetzen
und du hast ne dll die 2 funktionen exportiert: StartHook und StopHook.
wie du die beiden funktionen dann in dein prog importierst und verwendest
habe ich ja oben schon geschrieben.

was ein hook is und wozu man ihn noch so verwenden kann guckste am besten ma
unter MSDN-Library durchsuchenSetWindowsHookEx
  Mit Zitat antworten Zitat
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#28

Re: bestimmte Tasten Sperren.

  Alt 12. Mai 2006, 19:23
wenn ich das jetzt speichern will, speichert der das als *.dpr usw...
wie kann ich das als DLL speichern?
  Mit Zitat antworten Zitat
nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#29

Re: bestimmte Tasten Sperren.

  Alt 12. Mai 2006, 20:04
diese frage hätte sicher auch mit der sufu beantwortet werden können, aber nun gut...
natürlich speicherst du das als projekt-datei. dein projekt von deinem prog
speicherst du ja auch nich als exe, oder? erst nach dem kompilieren is ne
exe vorhanden. genauso bei der dll. einma kompilieren und eine dll-datei
liegt parat.
  Mit Zitat antworten Zitat
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#30

Re: bestimmte Tasten Sperren.

  Alt 14. Mai 2006, 19:01
thx du hast mir sehr gehofen.
Wenn noch was ist, melde ich mich.

EDIT: könntest du mir vllt noch einen Hook für ALT+TAB und STRG+ALT+ENTF schreiben?
oder am besten alles in einem.
habe versucht deinen abzuändern, aber bekomme das irgendwie nicht hin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    


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 05:18 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