| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/01/2008 10:53:25
|
caique_castanho
Thread.start()
![[Avatar]](/images/avatar/91991ec9a7dc08f047a200df0c0a7af0.jpg)
Membro desde: 09/11/2006 09:41:56
Mensagens: 30
Offline
|
Pessoa, preciso bolquear o teclado do usuário durante uma operação no meu programa, alguém pode me dar uma ajuda quanto a isso, pesquisei um pouco na internet e vi que terei que usar JNI pra carregar a dll do windows e por ela bloquear o teclado, porém nunca usei esse recurso....alguém pode me ajudar ??? T+
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/01/2008 11:01:46
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Use JNA e declare a API BlockInput.
Entretanto, o usuário deve ser administrador da máquina (ou no caso do Windows Vista, o programa deve rodar com permissão de administrador, o que é mais chato.) Veja isso em:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=880586&SiteID=1
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/01/2008 11:16:35
|
fuzzyMind
Debugger
Membro desde: 03/09/2007 18:55:49
Mensagens: 69
Localização: Espanha
Offline
|
Vc nao poderia criar um KeyListener e filtrar qualquer tecla do usuario enquanto estiver processando ?
http://java.sun.com/docs/books/tutorial/uiswing/events/keylistener.html
|
Before I speak, I have something important to say. - Groucho Marx |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/01/2008 11:20:59
|
joncmuniz
Thread.start()
Membro desde: 29/03/2006 15:10:09
Mensagens: 32
Offline
|
Bem caique não sei se funciona assim carregar uma dll do windows...
Bem pelo que eu sei, e já fiz algo em JNI...
Primeiro passo Procure ou faça vc mesmo um aplicacao em C ou C++ que faça a rotina que vc pretende
Segundo passo aí sim execute os passos para linkar a aplicacao C na sua aplicacao Java
Exemplo JNI - http://www.guj.com.br/posts/list/51822.java#272822
Link especificacao JNI - http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/jniTOC.html
Eu sempre consegui bons exemplos de codigos C e C++ http://www.codeproject.com
apos vc da uma olhadinha nessas coisas me fale, pra ver no que posso te ajudar..
|
Aprender...... |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/01/2008 11:39:14
|
caique_castanho
Thread.start()
![[Avatar]](/images/avatar/91991ec9a7dc08f047a200df0c0a7af0.jpg)
Membro desde: 09/11/2006 09:41:56
Mensagens: 30
Offline
|
OK, obrigado por enquanto pessoal, já me deram uma luz, vou ver o que consigo e volto a postar, T+
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/01/2008 11:45:34
|
Cabazzo
JavaChild
![[Avatar]](/images/avatar/7f1b9e870ce469ea8f20e0a89bbc9ef8.jpg)
Membro desde: 06/11/2007 13:58:32
Mensagens: 137
Localização: Recife, PE
Offline
|
Bem, eu uso assim com o JNative:
import org.xvolks.jnative.JNative;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.exceptions.NativeException;
/**
*
* @author sandro
*/
public class FuncoesNativas {
/** Classe estática */
static{
}
public static final boolean travaTeclado(boolean Blk) throws NativeException, IllegalAccessException
{
int Ret = 0;
JNative jn = new JNative("user32.dll", "BlockInput");
jn.setRetVal(Type.INT);
jn.setParameter(0, "Blk" );
jn.invoke();
Ret = jn.getRetValAsInt();
jn.dispose();
if(Ret == 1){
return true;
}else{
return false;
}
}
}
Vê se te serve...
|
Flex 4.5 ACE Certified. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/05/2008 09:43:02
|
KWill
Virtual Machine Man
![[Avatar]](/images/avatar/042aec9e604155f2f06c0a16c5f9ba06.jpg)
Membro desde: 18/09/2006 10:05:46
Mensagens: 609
Offline
|
Ok, posso usar a função BlockInput via JNA no Windows. Mas alguém tem alguma idéia de como eu conseguiria fazer alguma coisa semelhante nos Unix ou pelo menos no Linux?
Inté.
|
"Só estou certo de que não possuo outras certezas" - KWill
"Não penso, mas Googlo, logo existo!" - Geração Copy-Cola |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/10/2009 08:09:20
|
TheKill
GUJ Master
![[Avatar]](/images/avatar/6a59767ffedbb0c50130b5f43340d816.png)
Membro desde: 29/09/2006 18:06:30
Mensagens: 1142
Localização: Araranguá - SC
Offline
|
Voltando reabrir este tópico..
Amigos teste o código do caro amigo Cabazzo
Porém resultados "negativos" foram encontrados..
Exemplo:
Teste sem telas visuais ou implementações.. Apenas com o código para Bloquear e Desbloquear.
Resultado: OK.
Teste com telas visuais e implementações... E código para Bloquear e Desbloquear
Resultado -> Bloqueando OK.
-> Desbloqueando Falha.
-> Travamento do Processo.
Espero que alguem tenha encontrado uma solução para isto..
Agradeço atenção de todos
Att. Jonas
|
Pessoal se foi respondido com eficiência...
Nao custa finalizar o topico ^^ [RESOLVIDO]
Isso ai, valeu xD
GrupoJavaSC
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/12/2010 17:40:04
|
_Zell_
Debugger
![[Avatar]](/images/avatar/c46d911158c4a27e0c85eaf1a1266a33.jpg)
Membro desde: 21/07/2010 15:44:12
Mensagens: 66
Offline
|
"Redesenterrando o tópico" xD
TheKill, eu testei o código do colega Cabazzo mas pra mim ta dando o seguinte erro:
Tem como me dar uma ajuda ? xP
De qualquer forma eu agradeço a atenção!
o/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/12/2010 17:47:25
|
_Zell_
Debugger
![[Avatar]](/images/avatar/c46d911158c4a27e0c85eaf1a1266a33.jpg)
Membro desde: 21/07/2010 15:44:12
Mensagens: 66
Offline
|
Putzzzz... eu tava lendo ainda pouco sobre os métodos native... já vi a burrada que eu fiz... eu não coloquei a dll da API no projeto xD
Agora foi de boa =)
De qualquer forma obrigado o/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/08/2011 08:47:51
|
acramos
Entusiasta Java
![[Avatar]](/images/avatar/022d12a47ea602d7f0e634a7c214fb6d.jpg)
Membro desde: 17/04/2007 15:07:38
Mensagens: 19
Offline
|
Pessoal, eu utilizei o código acima, porém percebi que não estava destravando.
Então fiz algumas alterações de forma que destravasse.
Estou postando aqui para poder auxiliar os que precisarem.
import org.xvolks.jnative.JNative;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.exceptions.NativeException;
import java.io.FileDescriptor;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
public class DelsoftTravaTeclado {
/** Classe estática */
static{
}
public static final boolean TravaTeclado(boolean Blk) throws NativeException, IllegalAccessException
{
int Ret = 0;
JNative jn = new JNative("user32.dll", "BlockInput");
jn.setRetVal(Type.INT);
if (Blk){
jn.setParameter(0,"Blk");
}else{
jn.setParameter(0, 0);
}
jn.invoke();
Ret = jn.getRetValAsInt();
jn.dispose();
if(Ret == 1){
return true;
}else{
return false;
}
}
}
Att
Ana Claudia Ramos
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2011 10:49:53
|
ivonei
Smalltalk
Membro desde: 15/12/2008 14:53:27
Mensagens: 1
Offline
|
Olá
quando eu trabalhava desenvelvendo para frente de caixa eu usava a dll da bematech
tinha uma função que funcionava direitinho.
não lembro dos detalhes mas se vc der uma pesquisada vai encontrar, ou se precisar de ajuda favor entrar em contato
ivonei.ti@gmail.com
Arquivo
Bemafi32.dll
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/12/2011 13:38:06
|
VantuilJose
JavaChild
![[Avatar]](/images/avatar/ca5b658462069fbcf6db37967b8c9cec.jpg)
Membro desde: 15/09/2008 11:47:53
Mensagens: 101
Offline
|
Aqui eu explico direitinho como fazer isso: http://vantuiloliveira.blogspot.com/2011/10/java-travando-o-teclado.html
Estou usando a mesma idéia do acramos.
[]'s
|
Vantuil Oliveira
Tecnólogo em Análise e Desenvolvimento de Sistemas - IFMG Bambuí
Mestrando em Ciência da Computação - UFOP
-
"I am the maniac serial killer that knows where you live who will maintain your code!" |
|
|
 |
|
|