Clipper On Line • Ver Tópico - desabilitando CTRL-ALT-DEL via xHarbour
Mudar para estilo Clássico
Projeto Harbour - Compilador de código aberto compatível com o Clipper.
Postar uma resposta

desabilitando CTRL-ALT-DEL via xHarbour

11 Ago 2009 16:25

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

Re: desabilitando CTRL-ALT-DEL via xHarbour

12 Ago 2009 16:18

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

Re: desabilitando CTRL-ALT-DEL via xHarbour

12 Ago 2009 16:47

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

Re: desabilitando CTRL-ALT-DEL via xHarbour

12 Ago 2009 17:14

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

Re: desabilitando CTRL-ALT-DEL via xHarbour

12 Ago 2009 18:14

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

Re: desabilitando CTRL-ALT-DEL via xHarbour

12 Ago 2009 19:02

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:
#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

Re: desabilitando CTRL-ALT-DEL via xHarbour

12 Ago 2009 19:31

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

Re: desabilitando CTRL-ALT-DEL via xHarbour

12 Ago 2009 19:37

No código do Leonardo, troque a linha:

Código:
EnableMenuItem(MenuH,SC_CLOSE,MF_GRAYED);


por...

Código:
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".

Re: desabilitando CTRL-ALT-DEL via xHarbour

12 Ago 2009 20:01

Resolveu, meu caro.

Vocês são feras mesmo.

Muito obrigado.

Inacio

Re: desabilitando CTRL-ALT-DEL via xHarbour

28 Ago 2009 13:21

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

Re: desabilitando CTRL-ALT-DEL via xHarbour

28 Ago 2009 15:56

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. :)

Re: desabilitando CTRL-ALT-DEL via xHarbour

29 Ago 2009 12:09

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 ?

Re: desabilitando CTRL-ALT-DEL via xHarbour

29 Ago 2009 12:50

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

Inacio

Re: desabilitando CTRL-ALT-DEL via xHarbour

29 Ago 2009 13:17

ok ...
desculpe a falha !

Abraço!
Netavin

Re: desabilitando CTRL-ALT-DEL via xHarbour

24 Ago 2010 09:51

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
Postar uma resposta