PDA

Ver la Versión Completa : ocultar aplicacion en la barra de tareas


jlcasih
30-07-2003, 00:40:12
Hola, necesito si alguien tiene un documento o sabe de algun lugar donde pueda solucionar el siguiente problema: nesecito que mi aplicacion no sea mostrada en la barra de tareas de windows al presionar ctrl + alt +supr, para que la misma no pueda ser finalizada.O si sabe de alguna otra forma de impedir esto. Les agradesco su ayuda. Un saludo.

jlcasih
30-07-2003, 01:16:49
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....

frankmch
18-08-2003, 06:33:32
Podrias usar este codigo tambien.

Ocultar:


ShowWindow( FindWindowEx( FindWindow('Shell_TrayWnd', nil),
HWND(0), 'ReBarWindow32', nil),
Sw_Hide);


Mostrar:


ShowWindow( FindWindowEx( FindWindow('Shell_TrayWnd', nil),
HWND(0), 'ReBarWindow32', nil),
Sw_Show);


el cual es mucho mas sencillo.

DarkByte
11-09-2003, 16:26:05
A MI NO ME FUNCIONA EN WINXP PROFESIONAL :( :( :( :(

Pregunto:

-¿Existe alguna función que compruebe el windows y oculte tu aplicación según el windows que sea?

-¿Cómo se puede ocultar tu aplicación de la lista del Cntl+Alt+Sup en WinXp Professional?

-¿Existe alguna función que sirva para todos los win?

frankmch
11-09-2003, 19:31:40
me parece muy extraño puesto que esa rutina yo la tengo implementada en una aplicacion que corro en win xp pro y no me da ningun problema...
se me ocurre que tal vez debas actualizar el service pack de tu windows, pero es solo una suposicion...
no te aseguro nada...

pero si te puedo decir que a mi me ha funcionado esa rutina en win xp pro, win 2000 pro, win 95, win 98, y win 2000 server...

saludos

DarkByte
11-09-2003, 20:05:54
Posteado originalmente por frankmch
se me ocurre que tal vez debas actualizar el service pack

Lo tengo actualizado y reviso actualizaciones cada 3 días. Aunq se que es algo excesivo