LowLevel Hook - Alt+Strg+Entf !?



  • ich benutze folgende funktion um die tastendrücke von allen 3 tasten zu filtern:

    static LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) 
    {   
    	if (nCode == HC_ACTION)
    	{
    		KBDLLHOOKSTRUCT *kHookInfo;
    
    		kHookInfo = (KBDLLHOOKSTRUCT*) lParam;
    
    		if (wParam == WM_KEYDOWN)
    		{
    			if (kHookInfo->vkCode == VK_DELETE)
    			{
    				if ((GetKeyState(VK_CONTROL) < 0) && (GetKeyState(VK_MENU) < 0))
    				{
    					// Alt + Strg + Entf wurde gedrückt ...
    				}
    			}
    		}
    	}
    
        return (CallNextHookEx(hKeyboardHook, nCode, wParam, lParam)); 
    }
    

    da der computer mit der software für gäste von z.b. kaffees aufgestellt wird, sollen die natürlich nicht aus dem programm raus kommen. desshalb möchte ich verhindern das der benutzer so den sicherheitsdialog aufrufen kann.

    wie kann ich jetzt verhindern, das das sicherheitsdialogfeld aufgerufen wird ??
    ich habe schon versucht mit return abzubrechen, ohne erfolg !?



  • Unter XP kannst du als Admin die Geierkralle in der Registry deaktivieren.
    HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\
    DisableTaskMgr = dword:1

    Und fertig!
    Unter anderen Windowsversionen siehts finster aus.
    Nen Keyboardhook bringt dich da nicht weiter weil das System seinen eigenen Hook lange vor dir setzt und die Nachrichten der Reihe nach durch die Hooks gereicht werden.
    Der harte Weg ist es die Gina.dll durch deine eigene zu ersetzen.Dabei kannst du alle Funktionen außer WlxLoggedOnSAS an die Original Dll weiterleiten.
    Die besagte Funktion musst du dann so schreiben wie du denkst dass das System reagieren sollte wenn strg-alt-entf gedrückt wird.
    Unterm Strich finde ich es unklug sich den Windows-Schleudersitz fest zu schweißen...

    MfG Spacelord



  • Spacelord schrieb:

    Unter XP kannst du als Admin die Geierkralle in der Registry deaktivieren.

    damit deaktivierst du glaube ich nur den taskmanager, aber sicherheitsmenü kommt trotzdem.

    ach ja, mit der GINA.dll hab ich schon mal was von gehört, sieht aber kompliziert aus 😞 *seufz*

    muss es wohl versuchen, danke 😉



  • Hi,

    ich habe eine ähnliche Anwendung programmiert, also Fullscreen und mit KeyHookDLL. Habe eigentlich auch alles hingekriegt, bis auf den Affengriff - den Task-Manager habe ich auch mit dem Reg-Key Eintrag ausser Kraft gesetzt, allerdings kommt dann dieser Hinweisdialog von Windows, dass der Task-Manager durch den Admin abgeschaltet wurde - ist aber nicht weiter schlimm, da die Anwendung AlwaysOnTop ist. Den TaskBar kriegt man übrigens auch weg, indem man alle TopLevel-Fenster nach "Shell_traywnd" durchsucht und das Fenster disabled + versteckt 😉

    Wenn Du interesse am Code hast, dann schick mir ne mail: dc[AT]conze-informatik.de

    Dennis.



  • Auch wenn man die TaskBar disabled und versteckt ist das Menü immernoch aufrufbar mittels der Win-Taste... ⚠

    Gruß
    AllKnownUser



  • ja, aber nicht wenn du es deaktivierst. dann dürfte schlimmsten falls die taskleiste in den vordergrund kommen.


Anmelden zum Antworten