![]() |
Suche prog, daß alt+TAB und Startmenü etc. verhindert!
Hallo Leuts,
Ich möchte ein Programm schreiben, aus dem man nur durch kennworteingabe wieder herauskommt. Gab's hier schon, ich weiß, allerdings kriege ich es nicht wieder aus, da ich ein Sprachprogrammm für Blinde nutze, bei dem der rechte Mausklick bei diesem Programm (lock.exe) nicht geht. Was ich möchte ist: alt+TAB verhindern, - Windows-Taste verhindern, - am besten, daß sich gleich die ganze Taskleiste nicht mehr anklicken läßt. Wie ich den Task-Manager weg kriege, hab ich gefunden, nämlich mit SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,Nil, 0); allerdings kriege ich ihn nie wieder an! ;-) lach, obwohl das mit SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,Nil, 0); gehen soll. Meine Fragen an euch: - wie kann ich diese Tastenkombis bzw. das anklicken der Taskleiste verhindern, und hat vielleicht schonmal jemand diesen Task-Manager-Verhinderungs-Code zum laufen gekriegt? Sinn des programms ist es, einen PC zu haben, auf dem genau dieses Programm läuft, bedienbar ist, aber sonst nix geht. Okay, wenn jemand es schafft, mit einer Konsolenanwendung reinzugehen, oder sich vor den Prozess zu hängen, sei's ihm gegönnt. Es geht mir mehr um die, verzeihung: normalen anwender! ;-) Schonmal Danke im voraus! Marco |
Re: Suche prog, daß alt+TAB und Startmenü etc. verhindert!
Du könntest den explorer beenden, dann geht die windows-taste nicht mehr - zumindest die miesten hotkeys dafür ...
was ich grad ausprobiert habe: verhindert wird das startmenü, sowie Win-R und Win-Pause nicht verhindert wird Win-L und wenn nur das programm läuft, dann brauchst du den Alt-Tab-Dialog im Grunde doch gar nicht entfernen, oder? (Genau - ich weis nicht, wie man ihn entfern und schlage deshalb vor,ihn nicht zu entfernen ;) ) |
Re: Suche prog, daß alt+TAB und Startmenü etc. verhindert!
die Windowstasten kann man über Gruppenrichtlinien unterbinden. Beim Startmenü weiß ich es nicht genau
|
Re: Suche prog, daß alt+TAB und Startmenü etc. verhindert!
Hallo,
erstmal danke für die rasche Antwort! Zitat:
Grüße Marco |
Re: Suche prog, daß alt+TAB und Startmenü etc. verhindert!
schreib mich mal im ICQ an, ich denke ich kann dir in allen Punkten helfen (318270655)
|
Re: Suche prog, daß alt+TAB und Startmenü etc. verhindert!
Zitat:
Frank :gruebel: |
Re: Suche prog, daß alt+TAB und Startmenü etc. verhindert!
Zitat:
Code:
AltTabAtom ist hierbei ein Atom, das du mit GlobalAddAtom erzeugen kannst. Um die "Pseudosperre" wieder zu entfernen rufst du einfach
RegisterHotKey(0,AltTabAtom,MOD_ALT,VK_TAB)
Code:
auf.
UnregisterHotKey(0,AltTabAtom)
Zitat:
Das kannst du mit einem Tastaturhook erreichen
Code:
in der Callbackfunktion fängst du dann alle Win+key Tastenkombinationen ab :
SetWindowsHookEx(WH_GETMESSAGE, @MsgFilterFunc, HInstance, 0);
Code:
damit fängst du die ganzen Nachrichten ab und sendest stattdessen ein WM_NULL
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; Zitat:
Code:
mit FindWindow suchst du dir das Fensterhandle der Taskleiste. Shell_TrayWnd ist hierbei der Classname der Taskbar. EnableWindow Aktiviert/Deaktiviert das
procedure DisableTaskbar(aDisable : Boolean);
var wnd: HWND; begin wnd := FindWindow('Shell_TrayWnd',''); if wnd <> 0 then EnableWindow(wnd, (not aDisable)); end; 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 -.- |
Re: Suche prog, daß alt+TAB und Startmenü etc. verhindert!
Zitat:
Frank :coder: |
Re: Suche prog, daß alt+TAB und Startmenü etc. verhindert!
Hi StefanG,
Erstmal vielen herzlichen Dank für die rasche Antwort. Ich hab noch 'n paar Fragen zu der MSGFilterFunc, bzw. ich und mein Compiler ;-):
Code:
wo kommt der HookHandle im Aufruf von CallNextHook her?
Result := 0;
if (Code < 0) or (wParam = PM_NOREMOVE) then Result := CallNextHookEx(HookHandle, Code, wParam, lParam) ...
Code:
bei der Zeile steigen ich und mein Compiler aus. Was ist TPMSG?
else begin
Kill := False; case TPMsg(lParam)^.message of
Code:
blöde frage, ich weiß, aber die ganzen VK's finde ich auch nicht. in welcher Unit sind die denn?
...
VK_D, // Win+D ==> Desktop Sorry, für die vielen Fragen, aber ich bin seit ungefähr 'ner Stunde auf TurboDelphi umgestiegen, und muß mich erstmal durch die neue Oberfläche wuseln. Für eine Antwort wäre ich Dankbar. 'nen schönen Abendund viele Grüße Marco |
Re: Suche prog, daß alt+TAB und Startmenü etc. verhindert!
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:32 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