![]() |
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.
|
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.... |
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. |
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? |
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 |
Cita:
|
La franja horaria es GMT +2. Ahora son las 21:30:46. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi