Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   ocultar aplicacion en la barra de tareas (https://www.clubdelphi.com/foros/showthread.php?t=2589)

jlcasih 30-07-2003 00:40:12

ocultar aplicacion en la barra de tareas
 
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

Cita:

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


La franja horaria es GMT +2. Ahora son las 22:47:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi