AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Suche prog, daß alt+TAB und Startmenü etc. verhindert!
Thema durchsuchen
Ansicht
Themen-Optionen

Suche prog, daß alt+TAB und Startmenü etc. verhindert!

Ein Thema von Marco Steinebach · begonnen am 24. Okt 2006 · letzter Beitrag vom 30. Okt 2006
 
StefanG

Registriert seit: 23. Feb 2006
74 Beiträge
 
#7

Re: Suche prog, daß alt+TAB und Startmenü etc. verhindert!

  Alt 25. Okt 2006, 08:23
Zitat:
Was ich möchte ist:
alt+TAB verhindern
Hierfür reicht ein globaler Hotkey :
Code:
RegisterHotKey(0,AltTabAtom,MOD_ALT,VK_TAB)
AltTabAtom ist hierbei ein Atom, das du mit GlobalAddAtom erzeugen kannst. Um die "Pseudosperre" wieder zu entfernen rufst du einfach
Code:
UnregisterHotKey(0,AltTabAtom)
auf.

Zitat:
Windows-Taste verhindern

Das kannst du mit einem Tastaturhook erreichen

Code:
SetWindowsHookEx(WH_GETMESSAGE, @MsgFilterFunc, HInstance, 0);
in der Callbackfunktion fängst du dann alle Win+key Tastenkombinationen ab :

Code:
function MsgFilterFunc(Code: Integer; wParam, lParam: Longint): Longint;
var
  Kill: boolean;
begin
  Result := 0;
  if (Code < 0) or (wParam = PM_NOREMOVE) then
    Result := CallNextHookEx(HookHandle, Code, wParam, lParam)
  else begin
    Kill := False;
    case TPMsg(lParam)^.message of
      WM_SYSCOMMAND:
        if TPMsg(lParam)^.wParam = SC_TASKLIST then Kill := True;

      WM_HOTKEY:
        case ((TPMsg(lParam)^.lParam and $00FF0000) shr 16) of
          VK_D,     // Win+D       ==> Desktop
          VK_E,     // Win+E       ==> Explorer
          VK_F,     // Win+F+(Ctrl) ==> Find:All (and Find: Computer)
          VK_M,     // Win+M       ==> Minimize all
          VK_R,     // Win+R       ==> Run program.
          VK_F1,    // Win+F1       ==> Windows Help
          VK_PAUSE: // Win+Pause   ==> Windows system properties
            Kill := True;
        end;
    end;
    if Kill then TPMsg(lParam)^.message := WM_NULL;
        Result := CallNextHookEx(HookHandle, Code, wParam, lParam)
  end;
end;
damit fängst du die ganzen Nachrichten ab und sendest stattdessen ein WM_NULL

Zitat:
am besten, daß sich gleich die ganze Taskleiste nicht mehr anklicken läßt.
Code:
procedure DisableTaskbar(aDisable : Boolean);
var
  wnd: HWND;
begin
  wnd := FindWindow('Shell_TrayWnd','');
  if wnd <> 0 then
   EnableWindow(wnd, (not aDisable));
end;
mit FindWindow suchst du dir das Fensterhandle der Taskleiste. Shell_TrayWnd ist hierbei der Classname der Taskbar. EnableWindow Aktiviert/Deaktiviert das
entsprechende Fenster dann


Den Taskmanager kannst du auf verschiedene Arten "sperren". Einige davon beinhalten einfach das Prinzip "Security through obscurity". Dann ist es möglich den TM in der Registry zu disablen.
Die wohl sicherste Methode ist ein Globaler API Hook auf die Funktion WlxLoggedOnSAS oder das implementieren einer eigenen GINA

für genauere Infos würd ich dann aber wirklich ICQ bevorzugen -.-
  Mit Zitat antworten Zitat
 


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 17:48 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