Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

ctrl + alt + del

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: ctrl + alt + del Responder citando

hola a todos...
una pregunta:
¿conocen alguna forma de evitar que la aplicación que estoy programando en el c++builder aparezca en el menú de "cerrar programa" que aparece cuando tecleas ctrl + alt + del?
lo que pasa es que necesito que la aplicación (tiene un solo form) no se cierre hasta que el usuario introduzca la contraseña correcta, y he logrado deshabilitar el alt + f4, pero se puede cerrar presionando crtl + alt + supr y escogiéndolo de la lista...
¿cómo puedo evitar esto?
gracias...
Volver arriba
Mensaje    Asunto: Responder citando

En eventos del Form OnShow

void __fastcall TForm1::FormShow(TObject *Sender)
{
int result;
SystemParametersInfo(SPI_SCREENSAVERRUNNING, true, &result,
0);
}

En evento del Form OnClose

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction
&Action)
{
int result;
SystemParametersInfo(SPI_SCREENSAVERRUNNING, false, &result,
0);
}
Volver arriba
Mensaje    Asunto: gracias Responder citando

gracias por la ayuda, hernán, lo voy a probar
Volver arriba
Mensaje    Asunto: Responder citando

Si lo que necesitas es ocultarlo de la lista de tareas y usas Windows 95/98/ME esto debería funcionar:
Código:
void OcultarProceso(void)
{
    typedef DWORD (__stdcall *pRegisterServiceProcess)(DWORD pid, DWORD tipo);
    HINSTANCE hLib = LoadLibrary("kernel32.dll");
    if ( hLib )
    {
        pRegisterServiceProcess RegisterServiceProcess =
            reinterpret_cast<pRegisterServiceProcess>(
                GetProcAddress(hLib, "RegisterServiceProcess") );
        if ( RegisterServiceProcess )
            RegisterServiceProcess(GetCurrentProcessId(), 1);
        FreeLibrary( hLib );
    }
}

Y si lo que usas es Windows NT/2000/XP esto no te servirá, tendrás que crear un Servicio real. Según la versión de C++Builder que tengas lo puedes hacer de manera sencilla:


Si en tu versión de C++Builder no aparece este asistente, siempre puedes hacerlo usando el API:

Services
Using Services
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: gracias Responder citando

gracias por la ayuda _Leo, lo voy a probar...
hernán, funcionó a la perfección, gracias también a tí
Volver arriba
Mensaje    Asunto: Responder citando

Solo una pregunta _Leo como hago el servicio que mencionas con "Service Application" Gracias.
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.