Hi.
Um den Taskmanager zu sperren hab ich letztendlich einen Timer genommen und das hier reingeschrieben:
Code:
procedure TForm1.Timer1Timer(Sender: TObject);
var
h: HWND; //Variable für das
Handle des Fensters
begin
h := FindWindow(nil, PChar('Windows Task-Manager')); //nach Fenster mit dem Namen "Windows Task-Manager" suchen
if h <> 0 then PostMessage(h, WM_CLOSE, 0, 0); //wenn gefunden (
Handle ist ungleich 0) dann sende eine Message: WM_CLOSE - schließen
end;
Wenn man das mit 20 ms oder so timert reicht das vollkommen aus
.
Edit: Wie man sieht blockiert der Code nur die Wirkung und nicht die Ursache... das geht aber wesentlich einfacher zu programmieren
. Das Startmenü kann man ähnlich blockieren... dort ist die Fensterbezeichnung "Startmenü". Ich glaub aber das die Fenster bei anderen Sprachversionen von Windows auch anders heißen... aber das ist ja jetzt erstmal egal... es geht ums Prinzip
.
C ya!