Me respondo solo ya que encontre algo, si alguien sabe de mejorar esto sera bienvenido:
Se agrega ShellApi a la uses del form.
interface
type
MyRegisterServiceProcess = function(dwProcessID, dwType: DWord) :
DWord; stdcall;
...
var
h: THandle;
RegisterServiceProcess: MyRegisterServiceProcess;
implementation
procedure HideProgram(ProgramID : DWORD; ShowHide : Boolean);
begin
if @RegisterServiceProcess = nil then
Raise(Exception.Create('No es Windows 95/98/Me!'));
if ShowHide then
RegisterServiceProcess(ProgramID, 1)
else
RegisterServiceProcess(ProgramID, 0);
end;
function TForm1.SacarDeCrtlAltDel(Esconder:Boolean):boolean;
begin
Result:=False;
@RegisterServiceProcess := nil;
if Win32Platform <> VER_PLATFORM_WIN32_NT then
begin
h := GetModuleHandle('Kernel32');
if h = 0 then Exit;
RegisterServiceProcess := GetProcAddress(h,'RegisterServiceProcess');
HideProgram(GetCurrentProcessId,Esconder);
Result:=true;
end
end; { SacarDeCrtlAltDel }
Ejemplo de llamada
SacarDeCtrlAltDel(true); // Esconde la aplicación.
SacarDeCtrlAltDel(false); // La restaura en la lista.
Saludos....
__________________
Cordoba-Argentina
|