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 -.-