como posso usar uma DLL para implementar o TEF da Skytef?? alguem ja fez isso? por onde eu posso começar?
[resolvido] Usar Dll com Java
D
6 Respostas
R
Pesquise por JNA (Java Native Access)
D
nao tem um hello world?? kkkk
D
achei esse hello world.
public class HelloWorld {
public interface CLibrary extends Library {
CLibrary INSTANCE = (CLibrary) Native.loadLibrary(
(Platform.isWindows() ? "msvcrt" : "c"), CLibrary.class);
void printf(String format, Object... args);
}
public static void main(String[] args) {
CLibrary.INSTANCE.printf("Hello, World\n");
for (int i = 0; i < args.length; i++) {
CLibrary.INSTANCE.printf("Argument %d: %s\n", i, args[i]);
}
}
}
importei o jar para dentro do projeto, mas ele da o seguinte erro.
Erro: O método principal não foi encontrado na classe HelloWorld; defina o método principal como:
public static void main(String[] args)
D
por exemplo, este era para dar um som de Beep. mas porque nao funciona? ele nao acessa a dll dentro da system?
import com.sun.jna.Library;
import com.sun.jna.Native;
public class Beep {
public interface Kernel32 extends Library {
public boolean Beep(int FREQUENCY, int DURATION);
public void Sleep(int DURATION);
}
public static void main(String[] args) {
Kernel32 lib = (Kernel32) Native
.loadLibrary("kernel32", Kernel32.class);
lib.Beep(698, 500);
lib.Sleep(500);
lib.Beep(698, 500);
}
}
D
mesmo com o jar no projeto porque ele nao acha o metodo?
java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/win32-amd64/jnidispatch.dll)
D
ops.
Jar errado. Parece que tinha uma versao que nao funcionava.
Obrigado pelo help
Criado 26 de julho de 2012
Ultima resposta 27 de jul. de 2012
Respostas 6
Participantes 2
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo