Como comentas el solo esconder el menu inicio no lo desactiva si mandas llamarlo desde el teclado.
Aki esta el codigo, sobre lo de CTRL+ALT+SUPR:
Código:
unit SafeMode;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ComCtrls, ExtCtrls, StdCtrls, ShellApi, Registry;
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
procedure Espabila(var Msg : TMessage); message WM_USER+1;
procedure NiTeMenees(var m: TWMWINDOWPOSCHANGED); message WM_WINDOWPOSCHANGING ;
procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION;
implementation
var
ncont:integer;
function RegisterServiceProcess(dwProcessID, dwType: DWord) : DWord;
stdcall; external 'KERNEL32.DLL';
//------------------------------------------------------------------------------
{Desactiva el TaskManager}
//------------------------------------------------------------------------------
procedure DisableTaskMgr(bTF: Boolean);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software', True);
reg.OpenKey('Microsoft', True);
reg.OpenKey('Windows', True);
reg.OpenKey('CurrentVersion', True);
reg.OpenKey('Policies', True);
reg.OpenKey('System', True);
if bTF = True then
begin
reg.WriteString('DisableTaskMgr', '1');
end
else if bTF = False then
begin
reg.DeleteValue('DisableTaskMgr');
end;
reg.CloseKey;
end;
//------------------------------------------------------------------------------
end.
{Ejemplo de como llamarla}
DisableTaskMgr(True); //DEsactiva el Administrador de Tareas.
Pues aki lo tienes, espero y sea de tu ayuda.
Como favor te pido que si tu tambien puedes compartirme el codigo para blockear el ALT+TAB para Win 2000/XP. Porque a lo que leo solo te faltaba el codigo anterior para vender tu aplicación.
Saludos!