Bloquear Botão Direito fechar App e Gerenciador Tarefas

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

Moderador: Moderadores

Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem 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
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem 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
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem 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...
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
rmlazzari
Usuário Nível 2
Usuário Nível 2
Mensagens: 64
Registrado em: 09 Dez 2013 14:18
Localização: são paulo

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem 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.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem por fladimir »

Vou analisar. Obrigado
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem por Kapiaba »

Bom dia, veja onde está escrito: <Fechar>, Não fecha de jeito nenhum, só sai no botão de saida. abs

Imagem
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem por fladimir »

A janela do teu sistema é definida como? Dialog?
Teu Windows é qual?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem 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.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem 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)
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem por fladimir »

vlw Rochinha vou testar tb. obrigado.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem 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?
Inacio de Carvalho Neto
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem 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
Captura de tela em 2017-03-25 09-30-56.png (13.62 KiB) Exibido 3620 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.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem 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
Anexos
APIGUIDE.ZIP
Guia da API do Windows. Aplicativo feito em VB(acho)
(1.66 MiB) Baixado 130 vezes
FWAPI.ZIP
Funções da API do Windows com parâmetros. Aplicativo 16bits, não rodará em 64bits.
(674.72 KiB) Baixado 110 vezes
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem por fladimir »

Vou analisar obrigado.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
Vander
Usuário Nível 3
Usuário Nível 3
Mensagens: 214
Registrado em: 23 Jul 2004 01:43
Localização: João Monlevade - MG

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagem 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

Código: Selecionar todos

FUNCTION SAIR()
   lSair := .T.
   ....
   ... 
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
HbMake v1.17
xHarbour build 0.99.70 Intl. (SimpLex)
Borland C++ 5.5.1
fivewin 6.12 (FREE)
Workshop 4.5
MEdit
Responder