Ver Mensaje Individual
  #2  
Antiguo 30-07-2003
jlcasih jlcasih is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 54
Reputación: 21
jlcasih Va por buen camino
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
Responder Con Cita