Arquivo TRava.exe p/ travar teclado urgente

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

narlem
Usuário Nível 1
Usuário Nível 1
Mensagens: 35
Registrado em: 24 Set 2004 14:34

Arquivo TRava.exe p/ travar teclado urgente

Mensagem por narlem »

Olá,

Alguem poderia me salvar enviando um arquivo tipo o trava.exe desenvolvido pelo Mário Isa, no xharbour para travar e destravar o teclado baseado na gravacao de umarquivo pelo meu progrma clipper, eu até vi o codigo fonte postado por ele, mas nao consigo compilar no xharbour ,

Muito Obrigado para quem puder me salvar


Narlem
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Cara, vc já deu uma olhada no CATools??
Lá tem funções pra isso...

Se vc não tiver o CAT ou precisar de ajuda, me add no MSN. Eu lhe mando.
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Dá uma olhada na função KBDDISABLE().

Se vc fizer:
KBDDISABLE(.F.) // "desliga" o teclado
* daqui pra frente o teclado tá "morto", não adianta teclar nada...
inkey(10)
KBDDISABLE(.T.) // "religa" o teclado
wagner aragao
Usuário Nível 2
Usuário Nível 2
Mensagens: 58
Registrado em: 30 Jan 2008 02:06
Localização: PORTO VELHO-RONDÔNIA

Mensagem por wagner aragao »

OLA,

Se for para homologacao para TEF so a chamada desta funcao nao basta, os caras la testam inclusive o acionamento das teclas de funcoes do windows (a bandeirinha), so consegui barar isso criando um aplicativo em Delphi que monitora se existe um arquivo TXT na pasta do programa que indica que existe transacao TEF pendente, se houver ele bloqueia o teclado e mouse pela API do windows, ai sim bloqueia tudo, ao final do processo TEF apago o arquivo e libero teclado... em 2007 foi a 4 vez que homologuei meu software e nessa tive que fazer isso....
te mais.
xHarbour 1.2.3 Simplex / xDev 0.70 / LetoDB 2.15b37 / HWGUI 2.17 / xDesigner (LF Basso)
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Estou terminando a biblioteca WAPI para uso no modo residente. O passo seguinte é adicionar um recurso de bloqueio total do teclado. Acho que até o final de semana estará resolvido.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

Posta o código fonte que agente compila pra vc, uai!

Jânio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Não entendi, Janio.

Aliás, aproveitando,uma dúvida. Nunca precissei homologar TEF, felizmente. Mas eu sei, pelos comentários de outros colegas, que todas as teclas, inclusive as "for Windows", precisam ser bloqueadas. Isso também inclui, claro, os atalhos. Mas a seqüência Ctr+Alt+Del também? Se sim: e se, por algum motivo, o programa travar ou o programa abortar?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

A mensagem foi para o narlem, ja que ele falou que tem o codigo fonte feito pelo Mario Isa, mas não conseguiu compilar.

Jânio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Ok. E aproveitando... Com relação à função KbdDisable() da CATools, o exemplo de uso está invertido. Na verdade, desativa-se o teclado com TRUE e reativa-se com FALSE. Ela não resolve a parada. Mas fica a informação.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

Narlem,

O Codigo fonte a que vc se referiu é esse???

Código: Selecionar todos

Olha pessoal! 
Eu consegui fazer o programinha tá ok ? 
Fiz em xHarbour e, caso sua aplicação seja clipper + blinker e vc, como eu, ainda não teve tempo de migrar tudo pode comandar direto de sua aplicação. 
Você grava um arquivo TRAVATEC.TXT e ele trava 
Depois vc grava um NTRAVATC.TXT e ele destrava. 
Grava um FINALIZA.TXT e ele finaliza. (se fecha) 
Ele grava, a cada 0.5 segundos um ACTIVA.TXT para mostrar que está ativo. Neste caso, toda vez que você for utilizá-lo, você deleta o ACTIVA.TXT, espera 1 segundos e pergunta se existe o ACTIVA.TXT, se existe é porque ele está ativo. se não existe é porque alguem (os homologadores, provavelmente) pararam o programinha com CTRL+ALT+DEL e neste caso, vc executa novamente a aplicação. 
Chama-se TRAVA.EXE. 
Se alguem interessar me avise aqui. 
Abraços 
Mário 

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

Estou terminando um programa em xHarbour que faz isso. 
O problema é que não consigo executá-lo de dentro do meu .EXE. 
Ele é uma aplicação 32 bits, mas quando o executo dá comando inválido. 
Faço assim: 
comanda := "TRAVA.EXE" 
run (comanda) 

Preciso conseguir executá-lo pois se alguém fechá-lo, meu programa comercial precisa reativá-lo.... 

Segue aqui o programinha. 
Se alguém puder ajudar. 

************* 
Function Main 
************* 
Para W 

/* 
TravaTec(.t.) 
MHide() 
@ 24,1 say "Travado." 
inkey(20) 
@ 24,1 
TravaTec(.f.) 
MShow() 
@ 24,1 say "destravado." 
inkey() 
quit*/ 


while .t. 

if file("travatec.txt") 
ferase("travatec.txt") 
mHide() 
TravaTec(.t.) 
end 

if file("ntravatc.txt") 
ferase("ntravatc.txt") 
mShow() 
TravaTec(.f.) 
end 

if file("finaliza.txt") 
ferase("finaliza.txt") 
ferase("activa.txt") 
quit 
end 

if !file("activa.txt") 
fll := "1" 
memowrit("activa.txt",fll) 
end 

inkey(0.5) // aguarda meio segundo 
end 

return nil 

#pragma begindump 
#include "windows.h" 
#include "winable.h" 
#include "hbapi.h" 

HB_FUNC( TRAVATEC ) 
{ 
BlockInput( hb_parl(1) ); 
} 
#pragma enddumpMario Isa
Se for, compilei esse codigo que vc pode pegar no link abaixo.
http://www.4shared.com/file/36395965/29 ... trava.html

Atenção! Não testei o código. Apenas compilei.

Jânio
Editado pela última vez por janio em 30 Jan 2008 10:53, em um total de 1 vez.
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Eu baixei e testei aqui. No DOS travou tudo realmente. Mas as teclas e atalhos do Windows continuam funcionando. Eles não precisariam ser travados também?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

BLOQUEIA TECLADO

Mensagem por janio »

Maligno,

Tenho uma rotina em que utilizo a função em C (a mesma que o Mario utilizou) abaixo e aqui bloqueia tudo, inclusivo mouse.

Código: Selecionar todos

***********************************************************
***********************************************************
****                                                   ****
****         PROGRAMA PRA BLOQUEAR O TECLADO           ****
****         TRAVAR    ->  TravaTec(.t.)               ****
****         DESTRAVAR ->  TravaTec(.f.)               ****
****                                                   ****
***********************************************************
***********************************************************

#pragma begindump
#include "windows.h"
#include "winable.h"
#include "hbapi.h"

HB_FUNC( TRAVATEC )
{
   BlockInput( hb_parl(1) );
}
#pragma enddump
Jânio
Editado pela última vez por Pablo César em 24 Mai 2012 20:10, em um total de 2 vezes.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Tudo bem. Mas eu testei aqui (Windows XP) e só trava tudo dentro do DOS. Fora dele o Windows continua respondendo às teclas e atalhos dele. E o cursor do mouse também funciona normalmente. Não é só executar o seu TRAVA.EXE? Foi o que fiz. Faltou eu fazer alguma coisa?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

Maligno,

Veja que o travamento é CONDICIONADO a existência do arquivo TRAVATEC.TXT. Vc criou esse txt e depois executou o trava.exe??

Jânio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Criei. Aí trava tudo mesmo. Mas, depois de dar um Ctrl+Alt+Del, ao acionar o TaskManager, tudo volta ao normal: teclas e atalhos do Windows, mouse, etc. No DOS continua travado.

Agora, se der pra travar também o Ctrl+Alt+Del, fica perfeito. Seria o caso de alterar a rotina em C que você comentou.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Trancado