Clipper On Line • Ver Tópico - Bloquear Botão Direito fechar App e Gerenciador Tarefas

Bloquear Botão Direito fechar App e Gerenciador Tarefas

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

Moderador: Moderadores

 

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor fladimir » 18 Fev 2016 10:32

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.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor Kapiaba » 18 Fev 2016 14:29

Mostre um <Print Screen> do que você quer impedir o fechamento porfa.

Veja se ajuda:

//--------------------------------------------------------------------------//
/*
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
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor fladimir » 18 Fev 2016 18:56

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.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor rmlazzari » 18 Fev 2016 21:08

Quem sabe ajuda... são intervenções no Windows, nada com o Harbour...

http://www.tecmundo.com.br/gerenciador-de-tarefas/5339-dicas-do-windows-7-como-bloquear-o-gerenciador-de-tarefas-do-windows.htm
e
http://www.tecmundo.com.br/programas/3623-esconda-aplicativos-em-execucao-no-windows.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.
rmlazzari
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 64
Data de registro: 09 Dez 2013 13:18
Cidade/Estado: são paulo
Curtiu: 35 vezes
Mens.Curtidas: 0 vez

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor fladimir » 19 Fev 2016 06:36

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 de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor Kapiaba » 19 Fev 2016 08:16

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

Imagem
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor fladimir » 19 Fev 2016 09:34

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.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor Kapiaba » 19 Fev 2016 10:21

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.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor rochinha » 19 Fev 2016 23:14

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:
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:
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:
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 fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4548
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 808 vezes
Mens.Curtidas: 246 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor fladimir » 20 Fev 2016 09:09

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.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor cjp » 25 Mar 2017 01:06

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
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1531
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor fladimir » 25 Mar 2017 10:32

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) Visualizado 3199 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 de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor rochinha » 25 Mar 2017 15:22

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 120 vezes
FWAPI.ZIP
Funções da API do Windows com parâmetros. Aplicativo 16bits, não rodará em 64bits.
(674.72 KiB) Baixado 94 vezes
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4548
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 808 vezes
Mens.Curtidas: 246 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor fladimir » 25 Mar 2017 16:41

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 de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Bloquear Botão Direito fechar App e Gerenciador Tarefas

Mensagempor Vander » 25 Mar 2017 21:15

Já tentou assim:
Ao iniciar a janela principal
lSair := .F.
DEFINE WINDOW oWnd TITLE ....
...
...
ACTIVATE WINDOW oWnd MAXIMIZED  valid lSair

Na função de fechamento da janela
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
Avatar de usuário

Vander
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 212
Data de registro: 23 Jul 2004 01:43
Cidade/Estado: João Monlevade - MG
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro