Página 1 de 2
desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 11 Ago 2009 16:25
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
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 12 Ago 2009 16:18
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
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 12 Ago 2009 16:47
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
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 12 Ago 2009 17:14
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
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 12 Ago 2009 18:14
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
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 12 Ago 2009 19:02
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
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 12 Ago 2009 19:31
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
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 12 Ago 2009 19:37
por Maligno
No código do Leonardo, troque a linha:
por...
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
Enviado: 12 Ago 2009 20:01
por Inacio
Resolveu, meu caro.
Vocês são feras mesmo.
Muito obrigado.
Inacio
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 28 Ago 2009 13:21
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
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 28 Ago 2009 15:56
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.

Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 29 Ago 2009 12:09
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 ?
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 29 Ago 2009 12:50
por Inacio
O código que o Leonardo havia passado anteriormente desabilita o CTRL-ALT-DEL.
Inacio
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 29 Ago 2009 13:17
por Netavin
ok ...
desculpe a falha !
Abraço!
Netavin
Re: desabilitando CTRL-ALT-DEL via xHarbour
Enviado: 24 Ago 2010 09:51
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