Página 1 de 2
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 18 Fev 2016 11:32
por fladimir
Olá pessoal,
Alguém sabe se é possível bloquear o fechamento de nossas aplicações via botão direito do mouse ou gerenciador de tarefas no windows 7?
Estou tendo um problema q tem usuários fechando a aplicação pelo botão direito...
Tem a dica do Rochinha pra voltar a aplicação caso fechada etc... (tem um tópico sobre isso) mas eu queria mesmo era impedir pq 1 x por mês na primeira execução do mês o sistema faz algumas rotinas demoram um pouco mas são necessárias, e qdo o usuário vê aquilo demorando apesar de todas mensagens pedindo pra aguardar etc e tal, apesar de orientar os clientes e tal... alguns acabam fechando, talvez por não querer esperar, talvez meio q no automatismo do dia a dia, independente do motivo fecham e NÃO quero q fechem se for possível.
[]´s
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 18 Fev 2016 15:29
por Kapiaba
Mostre um <Print Screen> do que você quer impedir o fechamento porfa.
Veja se ajuda:
Código: Selecionar todos
//--------------------------------------------------------------------------//
/*
SHOWTASKBAR() // Habilita
HIDETASKBAR() // Desabilita
TIRA_X() // Desabilita o X da Janela
PISCA_EXE() // Vai Piscar o Seu EXE na Barra do Windows
*/
#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 ( FLASHWINDOW ) // 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 ( DISABLECLOSEWINDOWS ) // DESABILITA O X da janela
{
HMENU MenuH = GetSystemMenu(GetForegroundWindow(),FALSE);
EnableMenuItem(MenuH,SC_CLOSE,MF_GRAYED);
}
HB_FUNC ( ENABLECLOSEWINDOWS ) // HABILITA O X da janela
{
HMENU MenuH = GetSystemMenu(GetForegroundWindow(),TRUE);
EnableMenuItem(MenuH,SC_CLOSE,MF_GRAYED);
}
#pragma ENDDUMP
//--------------------------------------------------------------------------//
abs
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 18 Fev 2016 19:56
por fladimir
Obrigado JOão pela força... Eu tenho essas rotinas tb mas não seria bem isso o q preciso... veja...
preciso desabilitar o botão direito na aplicação (na barra) q aparece "Fechar Janela" pq ai se clica nisso fecha a aplicação.
Testa no teu ai pra ver se o teu fecha...
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 18 Fev 2016 22:08
por rmlazzari
Quem sabe ajuda... são intervenções no Windows, nada com o Harbour...
http://www.tecmundo.com.br/gerenciador- ... indows.htm
e
http://www.tecmundo.com.br/programas/36 ... indows.htm
Nesse segundo, WinRAP, ele promete:
O WinRAP ainda possui opções de trava no menu Lock. Por meio desse recurso as configurações realizadas por você permanecem intocadas e não é mais possível esconder ou exibir mais programas, muito menos encerrar o aplicativo.
Nunca usei, fladimir, mas já vi um pessoal da antiga Datasul usando para evitar interromper fechamentos mensais, coisas assim.
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 19 Fev 2016 07:36
por fladimir
Vou analisar. Obrigado
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 19 Fev 2016 09:16
por Kapiaba
Bom dia, veja onde está escrito: <Fechar>, Não fecha de jeito nenhum, só sai no botão de saida. abs

Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 19 Fev 2016 10:34
por fladimir
A janela do teu sistema é definida como? Dialog?
Teu Windows é qual?
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 19 Fev 2016 11:21
por Kapiaba
Não, é uma WINDOW(janela) - DIALOGS em Fivewin, é a mesma coisa que um FORM em delphi, e para desligar o X de uma DIALOG(form), basta entrar no RECURSO(Resource) e desligar via WORKSHOP.EXE, se fosse em linha de comando, @SAY, basta achar qual o comando que desliga o X do dialogo e colocar o comando no DEFINE DIALOG oDlg...
O que você usa, RECURSO ou @Say na sua linguagem, creio que o caminho seja por ai... abs.
Windows 7 de 32 bits, mas desligará em qualquer versão do Windows, pois o código, é em C for xHarbour.
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 20 Fev 2016 00:14
por rochinha
Amiguinhos,
O Gerenciador de tarefas pode ser desligado diretamente no registro, se o seu aplicativo tiver funções de suporte a leitura e escrita do registro facilmente.
Caso possa usar a linha de comando bastará, em uma janela Prompt do DOS como Administrador executar o
regedit seguido do parâmetro contendo o nome do arquivo .
REG desejado para a manutenção, segue alguns:
Desativar o Task Manager no registro no Windows Vista/7:
Código: Selecionar todos
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=-
Ativar o Task Manager no registro no Windows Vista/7:
Código: Selecionar todos
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=-
Exemplo de comando:
Código: Selecionar todos
ShellExecute( GetActiveWindow(), "RUNAS", "regedit.exe", " /s arquivo.reg", "c:\windows\system32", 1)
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 20 Fev 2016 10:09
por fladimir
vlw Rochinha vou testar tb. obrigado.
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 25 Mar 2017 01:06
por cjp
Pessoal, estou tentando também desabilitar o fechamento da aplicação pelo usuário. Também já uso o tira_x() sugerido acima, mas igualmente não resolve o que preciso.
Testei esta última sugestão, mas acho que não estou sabendo fazer isto corretamente de dentro da minha aplicação.
Uso modo console. É possível fazer isso? Como?
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 25 Mar 2017 10:32
por fladimir
Com relação a tirar o X e o Gerenciador de tarefas ( não testei) pq se não conseguirmos desabilitar o botao direito para fechar a aplicação na própria barra de tarefas (figura abaixo) o problema continua...

- Captura de tela em 2017-03-25 09-30-56.png (13.62 KiB) Exibido 3619 vezes
Aki o q tive q fazer foi uma série de tratamentos nas rotinas de vendas para q caso fechar a aplicação fazer o estorno etc e não afetar o estoque/movimentações, pq se fechar em consultas não seria tanto a questão, se fecha no meio do cadastramento de uma ficha perde o trabalho daquele item, agora se fecha no meio de uma entrada de notas ou uma venda é q mora o perigo se não tratarmos isso.
O bom seria inibir o fechamento da aplicação pelo botão direito do mouse, porém não sei se isso seria possível só para a aplicação console.
Uso Windows 7 64, o João (Kapiaba) testou e lá com a aplicação dele em Five não deu problema, mas aki no meu todas as janelas são passiveis de fechamento via botão direito do mouse.
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 25 Mar 2017 15:22
por rochinha
Amiguinhos,
fladimir
Sua aplicação é console certo? Forçá-la a ficar sempre a frente de todas as janelas e com tela cheia resolveria o fechamento brutal.
Desabilitar a barra de tarefas enquanto o aplicativo esta ativo também, mas só vale para aplicativos monotarefa, que tentem manter o usuário focado no trabalho, como um PDV.
Retirar o X de janelas só funciona em aplicações Windows, portanto mesmo tirando o X da tela de Prompt do DOS, ela estará restaurada a uma janela no desktop deixando a barra de tarefas visível para o usuário.
Desativar Alt-Tab seria ótimo impedindo o usuário de ao pressioná-las viesse a ter restaurada a tela do aplicativo e pudesse fechá-lo brutalmente.
Desativar CTRL-ALT-DEL também, acho que até o mais fácil mas parece que este só mudar ao reiniciar. Geralmente alguns virús fazem isto para evitar o seu fechamento.
Em suma é possível fazer algumas coisas mesmo tendo o aplicativo em console, pois acesso a API do Windows pelo Harbour não está relacionado a nenhuma GUI.
Seguem dois utilitários que podem ajudar nos hackings:
download API-Guide
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 25 Mar 2017 16:41
por fladimir
Vou analisar obrigado.
Bloquear Botão Direito fechar App e Gerenciador Tarefas
Enviado: 25 Mar 2017 21:15
por Vander
Já tentou assim:
Ao iniciar a janela principal
Código: Selecionar todos
lSair := .F.
DEFINE WINDOW oWnd TITLE ....
...
...
ACTIVATE WINDOW oWnd MAXIMIZED valid lSair
Na função de fechamento da janela
Desta forma só é possível fechar pela rotina responsável pelo fechamento ou pelo gerenciador de tarefas, o botão direito da barra de tarefas do Windows ou o X da janela ficam sem ação.
Vander