desabilitando CTRL-ALT-DEL via xHarbour

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Inacio
Usuário Nível 1
Usuário Nível 1
Mensagens: 19
Registrado em: 07 Mai 2009 10:11
Localização: Curitiba-PR

desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por Inacio »

Pessoal, alguém saberia me dizer como faço para desabilitar as teclas CTRL-ALT-DEL, evitando assim que o programa compilado com o xHarbour seja fechado pelo usuário desta forma?

Grato

Inacio
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por sygecom »

Olá Inacio,
Eu já tinha postado algo, já para você mesmo. De uma olhada no post abaixo, o que não consegui fazer funcionar ai ?
viewtopic.php?f=43&t=9350
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Inacio
Usuário Nível 1
Usuário Nível 1
Mensagens: 19
Registrado em: 07 Mai 2009 10:11
Localização: Curitiba-PR

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por Inacio »

Sim, eu lembro que vc havia me mandando esse demo. Mas ele não funcionou. Eu te disse na época que faltavam alguns arquivos, dava alguns erros, mas depois vc não me respondeu mais.

Existe algum jeito de fazer isto funcionar? Será que alterando diretamente (manualmente) o regedit funciona?

Obrigado

Inacio
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por sygecom »

Olá Inacio,
Inacio escreveu:Eu te disse na época que faltavam alguns arquivos, dava alguns erros, mas depois vc não me respondeu mais.
Meu e-mail mudou, o novo e-mail está na minha assinatura, não recebi esse recado, pelo menos não lembro de ter recebido.

Na duvida baixei e compilei de novo, e deu tudo certo. Deve ser sua instalação do xHarbour ou do BCC que está com o PATH errado ou algo assim.
Você consegue compilar com xharbour normal seu aplicativo ?
Qual erro está dando ?

Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Inacio
Usuário Nível 1
Usuário Nível 1
Mensagens: 19
Registrado em: 07 Mai 2009 10:11
Localização: Curitiba-PR

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por Inacio »

Pois é, acho que era este mesmo o problema, pois agora funcionou.

Por favor, dê-me mais uma informação: este teu programa funciona também para desabilitar a opção de fechar o programa no X? No clipper eu tinha um função buttonx, fornecida por alguém do grupo do Maurílio, que desabilita o botão X da janela.

Já constatei que essa função também funciona no Xharbour. Mas ela tem um problema: ela desabilita o botão X, mas não impede que o usuário feche o programa teclando com o botão direito na barra de tarefas e mandando fechá-lo.

Vi que tua função tem a opção de desabilitar o Taskbar, mas eu não queria algo tão radical. Bastaria tirar a possibilidade de fechar o programa na barra de tarefas.

Será que dá pra fazer isto com a tua função?

Obrigado.

Inacio
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por sygecom »

Copie o codigo abaixo e cole dentro de um .PRG do seu sistema e no inicio do .PRG principal ou seja na abertura do seu sistema coloque a seguinte linha:
TIRA_X()
Isso vai desabilitar o X da janela.

Código: Selecionar todos

#pragma BEGINDUMP

#include "windows.h"
#include "shlobj.h"
#include "hbapi.h"
#include "math.h"
#include "hbvm.h"
#include "hbstack.h"
#include "hbapiitm.h"
#include "hbapigt.h"

HB_FUNC ( SHOWTASKBAR )      //Habilita o botao INICIAR
{
  HWND hWnd = FindWindow("Shell_TrayWnd", "");

  ShowWindow( hWnd, 1 );
}

HB_FUNC ( HIDETASKBAR )     //Desabilita o botao Iniciar
{
  HWND hWnd = FindWindow("Shell_TrayWnd", "");

  ShowWindow( hWnd, 0 );
}

HB_FUNC ( PISCA_EXE )      // VAI PISCAR O SEU EXE NA BARRA
{
    HWND  Handle = GetForegroundWindow();

    FlashWindow(Handle,TRUE); // VAI PISCAR O SEU EXE NA BARRA

    Sleep(300);    // TEMPO DE ESPERA
}


HB_FUNC ( TIRA_X )        // DESABILITA O X da janela

{
    HMENU MenuH = GetSystemMenu(GetForegroundWindow(),FALSE);

    EnableMenuItem(MenuH,SC_CLOSE,MF_GRAYED);
}

#pragma ENDDUMP
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Inacio
Usuário Nível 1
Usuário Nível 1
Mensagens: 19
Registrado em: 07 Mai 2009 10:11
Localização: Curitiba-PR

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por Inacio »

Realmente tirou o X. Mas ele só fez o mesmo que o buttonx já fazia, ou seja, tirou o X da janela.

Mas eu precisava também tirar a possibilidade de fechar o programa clicando na barra de tarefas. Entende?

Inacio
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por Maligno »

No código do Leonardo, troque a linha:

Código: Selecionar todos

EnableMenuItem(MenuH,SC_CLOSE,MF_GRAYED);
por...

Código: Selecionar todos

DeleteMenu(MenuH,SC_CLOSE,MF_BYCOMMAND);
Aí sim, você poderá não só desabilitar o "X" da janela, como também remover ao mesmo tempo o ítem de menu de contexto da janela e, claro, do menu do botão na "TaskBar".
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Inacio
Usuário Nível 1
Usuário Nível 1
Mensagens: 19
Registrado em: 07 Mai 2009 10:11
Localização: Curitiba-PR

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por Inacio »

Resolveu, meu caro.

Vocês são feras mesmo.

Muito obrigado.

Inacio
Avatar do usuário
Netavin
Usuário Nível 3
Usuário Nível 3
Mensagens: 306
Registrado em: 28 Fev 2007 08:37
Localização: Cacoal-RO

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por Netavin »

Olá amigos do Forum !
Caro colega Maligno ... mudei a linha sugerida por vc. Porém, o ALT+CTRL_DEL ainda me permite fechar o aplicativo.

Uso xHarbour , XP.

Abraço !

Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por Maligno »

O código que passei não tem nada a ver com Ctrl+Alt+Del. Ele só remove o fechamento da janela pelo menu da própria. Pra bloquear Ctrl+Alt+Del o buraco é mais embaixo. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por sygecom »

Netavin escreveu: mudei a linha sugerida por vc. Porém, o ALT+CTRL_DEL ainda me permite fechar o aplicativo.
Olá Netavin,
A linha indicada pelo Maligno é sobre o X da Janela e não sobre o CTRL+ALT+DEL.
Você deixou a DLL junto na pasta onde você esta compilando o exemplo ? Esta dando algum erro ao compilar ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Inacio
Usuário Nível 1
Usuário Nível 1
Mensagens: 19
Registrado em: 07 Mai 2009 10:11
Localização: Curitiba-PR

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por Inacio »

O código que o Leonardo havia passado anteriormente desabilita o CTRL-ALT-DEL.

Inacio
Avatar do usuário
Netavin
Usuário Nível 3
Usuário Nível 3
Mensagens: 306
Registrado em: 28 Fev 2007 08:37
Localização: Cacoal-RO

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por Netavin »

ok ...
desculpe a falha !

Abraço!
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
Avatar do usuário
Netavin
Usuário Nível 3
Usuário Nível 3
Mensagens: 306
Registrado em: 28 Fev 2007 08:37
Localização: Cacoal-RO

Re: desabilitando CTRL-ALT-DEL via xHarbour

Mensagem por Netavin »

Bom dia pessoal!

Estive ausente da empresa por alguns meses.
Ao retornar, estou verificando que a função que desabilita o "x" não funciona mais.
Alguém poderia me informar se é possível isso rsrs; ou talvez alguma configuração de ambiente tenha sido alterado, se é que isso faz diferença...

[]´s
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
Responder