Bloqueando o teclado
Moderador: Moderadores
Bloqueando o teclado
Pessoal estou homologando meu sistema no cartao de credito e preciso de uma função que bloqueie o teclado geral...alguem pode me ajudar??
Agradeço desde já
Agradeço desde já
-
Dércio_Luiz_Zanatta
- Usuário Nível 3

- Mensagens: 153
- Registrado em: 11 Jan 2006 15:37
- Localização: Ibirubá - RS
Mario,
Se puder poste a solução, pois ajudará a todos.
Abraços,
Se puder poste a solução, pois ajudará a todos.
Abraços,
Anderson
Clipper 52e/Clipper 53b/Blinker 7/Vlib/Fglib/DBFNTX
_______________________________________________
Migrando para [x]Harbour 0.99.60 (SimpLex) + MiniGUI 1.2 Exp. (Build 22)
_______________________________________________
Assine o manifesto dos artistas pela preservação da amazônia.
Clipper 52e/Clipper 53b/Blinker 7/Vlib/Fglib/DBFNTX
_______________________________________________
Migrando para [x]Harbour 0.99.60 (SimpLex) + MiniGUI 1.2 Exp. (Build 22)
_______________________________________________
Assine o manifesto dos artistas pela preservação da amazônia.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Também seria interessante você Jarbas colocar o link onde se encontra essa solução. Porque pra mim, o site da SEVENPDV, não me leva nada e o outro também relacionado a essa empresa está com o link quebrado.
Também para o vosso conhecimento, parece que o Maligno ja manifestou a intenção de fazer uma função para este propósito com o WAPI.
Também para o vosso conhecimento, parece que o Maligno ja manifestou a intenção de fazer uma função para este propósito com o WAPI.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
Mário Isa
- Usuário Nível 4

- Mensagens: 907
- Registrado em: 07 Jul 2004 13:54
- Localização: Ilha Solteira-sp
Segue a solução:
Programa para compilar em xharbour
Obs:- dê o nome ao .prg de ashtrw.prg e assim será produzido um ashtrw.exe
// final da função aguarda
// dentro de um .BAT você chamará o seu aplicativo assim:
echo off
cls
del activa.txt > nul
cls
pause
if not exist activa.txt cmd /c start /B ashTrw.exe > nul
cls
call seuaplicativo.exe
nota: o comando:
cmd /c start /B ashTrw.exe > nul
faz com que o seu aplicativo ashtrw.exe seja executado porém nenhum ícone será mostrado na barra de tarefas...
Abraços
Mário
Programa para compilar em xharbour
Obs:- dê o nome ao .prg de ashtrw.prg e assim será produzido um ashtrw.exe
Código: Selecionar todos
*************
Function Main
*************
ferase("travatec.txt")
ferase("ntravatc.txt")
ferase("finaliza.txt")
ferase("activa.txt")
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 enddump
// Fim do programa
// Início da função no seu programa dos+blinker
Function kbddesliga(_on_off)
fllkbd := "1"
@ 24,1
if _on_off == "T"
if tef_produz == "S"
memowrit("travatec.tmp",fllkbd)
rename travatec.tmp to travatec.txt
end
elseif _on_off == "F"
if tef_produz == "S"
memowrit("ntravatc.tmp",fllkbd)
rename ntravatc.tmp to ntravatc.txt
end
elseif _on_off == "X"
memowrit("finaliza.tmp",fllkbd)
rename finaliza.tmp to finaliza.txt
end
aguarda(1.5)
@ 24,1
return nil
// Final da função kbddesliga
//para chamar a função:
kbddesliga("T") para travar
kbddesliga("F") para destravar
//inicio da função aguarda
// -------->
Function aguarda(_temp)
_in := seconds()
while seconds() - _in < _temp
var := inkey()
if lastkey() > 0 .and. upper(chr(var)) == "Q"
exit
end
end
return nil// dentro de um .BAT você chamará o seu aplicativo assim:
echo off
cls
del activa.txt > nul
cls
pause
if not exist activa.txt cmd /c start /B ashTrw.exe > nul
cls
call seuaplicativo.exe
nota: o comando:
cmd /c start /B ashTrw.exe > nul
faz com que o seu aplicativo ashtrw.exe seja executado porém nenhum ícone será mostrado na barra de tarefas...
Abraços
Mário
Editado pela última vez por Pablo César em 24 Mai 2012 20:23, em um total de 1 vez.
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
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
-
Mário Isa
- Usuário Nível 4

- Mensagens: 907
- Registrado em: 07 Jul 2004 13:54
- Localização: Ilha Solteira-sp
Fiz uma alteração na função kbddesliga (aquela que vai no seu programa clipper+blinker)
Ainda uma outra coisa:
No final do seu programa clipper=dos você invoca:
kbddesliga("X")
aí a função kbddesliga grava o arquivo finaliza.txt, o astrw.exe percebe e se finaliza.
Abraços
Mário
Código: Selecionar todos
// Início da função no seu programa dos+blinker
Function kbddesliga(_on_off)
fllkbd := "1"
@ 24,1
if _on_off == "T"
memowrit("travatec.tmp",fllkbd)
rename travatec.tmp to travatec.txt
elseif _on_off == "F"
memowrit("ntravatc.tmp",fllkbd)
rename ntravatc.tmp to ntravatc.txt
elseif _on_off == "X"
memowrit("finaliza.tmp",fllkbd)
rename finaliza.tmp to finaliza.txt
end
aguarda(1.5)
@ 24,1
return nil
// Final da função kbddesligaAinda uma outra coisa:
No final do seu programa clipper=dos você invoca:
kbddesliga("X")
aí a função kbddesliga grava o arquivo finaliza.txt, o astrw.exe percebe e se finaliza.
Abraços
Mário
Editado pela última vez por Pablo César em 24 Mai 2012 20:25, em um total de 1 vez.
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
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
Valeu!!!
Abraço,
Abraço,
Anderson
Clipper 52e/Clipper 53b/Blinker 7/Vlib/Fglib/DBFNTX
_______________________________________________
Migrando para [x]Harbour 0.99.60 (SimpLex) + MiniGUI 1.2 Exp. (Build 22)
_______________________________________________
Assine o manifesto dos artistas pela preservação da amazônia.
Clipper 52e/Clipper 53b/Blinker 7/Vlib/Fglib/DBFNTX
_______________________________________________
Migrando para [x]Harbour 0.99.60 (SimpLex) + MiniGUI 1.2 Exp. (Build 22)
_______________________________________________
Assine o manifesto dos artistas pela preservação da amazônia.
-
Mário Isa
- Usuário Nível 4

- Mensagens: 907
- Registrado em: 07 Jul 2004 13:54
- Localização: Ilha Solteira-sp
só mais 2 coisas:
1-no final eu chamei o programa de astrw.exe quando deveria ter chamado de ashtrw.exe
2-porque ashtrw.exe? Porque é um nome parecido com um dos programas que rodam junto do windows. Sabe o porque disso? Se vc colocasse o nome de trava.exe algum homologador espertinho poderia querer finalizá-lo com CTRL+ALT+DEL para ver se sua aplicação verifica isso e o re-executa.
Eu não tratei disso no meu programa.
Mas se vc quiser pode fazer o seguinte a cada momento em que vai bloquear:
1-deleta o arquivo activa.txt
2-verifica se ele existe
3-se se não existe é pq o ashtrw.exe não está ativo uma vez que ele a cada x segundos regrava o activa.txt e se não está ativo você pode reativá-lo utilizando-se do comando:
comanda := "cmd /c start /B ashTrw.exe > nul "
run (comanda)
4-se existe é pq ele está ativo, está tudo correto, pode prosseguir.
Abraços
Mário
1-no final eu chamei o programa de astrw.exe quando deveria ter chamado de ashtrw.exe
2-porque ashtrw.exe? Porque é um nome parecido com um dos programas que rodam junto do windows. Sabe o porque disso? Se vc colocasse o nome de trava.exe algum homologador espertinho poderia querer finalizá-lo com CTRL+ALT+DEL para ver se sua aplicação verifica isso e o re-executa.
Eu não tratei disso no meu programa.
Mas se vc quiser pode fazer o seguinte a cada momento em que vai bloquear:
1-deleta o arquivo activa.txt
2-verifica se ele existe
3-se se não existe é pq o ashtrw.exe não está ativo uma vez que ele a cada x segundos regrava o activa.txt e se não está ativo você pode reativá-lo utilizando-se do comando:
comanda := "cmd /c start /B ashTrw.exe > nul "
run (comanda)
4-se existe é pq ele está ativo, está tudo correto, pode prosseguir.
Abraços
Mário
Bloqueando o teclado
Não só uma intenção, mas já está planejado para o final do mês. Infelizmente, hoje em dia estou enroscado num sistema que precisou de uma grande atualização. Mas assim que terminar, volto ao WAPI, que aliás, acho bem mais divertido.Pablo César escreveu:o Maligno ja manifestou a intenção de fazer uma função para este propósito com o WAPI.
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Re: Bloqueando o teclado
Você poderia disponibilizá-lo aqui no fórum anexando-lo ?Jarbas escreveu:No site da SEVENPDV q é a empresa que faz a homologação tem um zip "desabilitar teclado" .
De uma olhada, caso vc nao encontre me mande seu e-mail que eu lhe envio .
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Bloqueando o teclado
Economizem o vosso tempo, pois é a função KBDDISABLE() da Catools. Devem ter colocado isso para uso no tempo do DOS.Pablo César escreveu:Você poderia disponibilizá-lo aqui no fórum anexando-lo ?
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG



