elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Interface Nativa Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Interface Nativa Java  (Leído 1,447 veces)
salva_zm

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Interface Nativa Java
« en: 8 Julio 2015, 04:21 am »

Hola que tal buenas noches.

He estado viendo este foro y me di cuenta que es fantástico en lo que concierne a programación, y ahora tengo una duda acerca de un proyecto en java que estoy desarrollando.

Cabe mencionar que me voy iniciando en este mundo, por lo que estoy abierto a cualquier consejo, corrección , ejemplos, etc.

Estoy haciendo un proyecto en java bastante sencillo, en el cual se utiliza la interface nativa llamando a una DLL creada en c, usando la herramienta javah. Dentro de el Main de la DLL nos piden leer una archivo de texto; y al llamarla en Java que lo muestre dentro de un TextField, TextArea o semejante al presionar un botón. No se si me explico.

En resumen: Lo que se desea es que dentro del DLL este un codigo para leer un archivo de texto, y al llamar en java la DLL lo muestre en un Text Area al presionar un botón.

El problema que tengo es que me ejecuta el código, pero me lo muestra en la consola de java. Y lo que quiero es que se vea en modo gráfico.

Les muestro lo programado en Java con ayuda de Netbeans:

Código:

package textos;

/**
 
 * @author Salvador
 */
public class Textos {
    public native void Leer();
  static {
      System.load("C:\\Users\\Salvador\\Documents\\NetBeansProjects\\Textos\\src\\Dll\\Archivo.dll");
  }
    public static void main(String[] args) {
       
     
        new Textos().Leer();

    }
   
}




Y ahora el codigo dentro del archivo de cabecera:


Código:

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class textos_Textos */

#ifndef _Included_textos_Textos
#define _Included_textos_Textos
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     textos_Textos
 * Method:    Leer
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_textos_Textos_Leer
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif


El codigo dentro del DLL:


Código:

/* Replace "dll.h" with the name of your header */
#include "Textos_textos.h"
#include <windows.h>
#include <stdio.h>  //Con la modificacion el archivo ya es leido
#include<conio.h>
#include<iostream>
#include<stdlib.h>
#include <fstream>
using namespace std;

JNIEXPORT void JNICALL Java_textos_Textos_Leer
  (JNIEnv *, jobject){
  FILE *archivo;

char caracter[256];

   if ((archivo = fopen("C:\\Evidencias.txt", "rb")) == NULL)
   {
      fprintf(stderr, "No se puede abrir el archivo.\n");
      exit(1);
   }


    while(!feof(archivo))
    { 
    fread(&caracter,sizeof(caracter),1,archivo);  //lee cadena de caracteres
     cout<<caracter;
    }
   fclose(archivo);
  }



BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
{
switch(fdwReason)
{
case DLL_PROCESS_ATTACH:
{
break;
}
case DLL_PROCESS_DETACH:
{
break;
}
case DLL_THREAD_ATTACH:
{
break;
}
case DLL_THREAD_DETACH:
{
break;
}
}

/* Return TRUE on success, FALSE on failure */
return TRUE;
}



No se si me puedan ayudar o dar algun consejo para salir de este paso, es un proyecto escolar. Les adjunto el proyecto tambien:


https://mega.nz/#!w1NkFTiR!Fn42jvGYdgByBCKE1SrIrPmPxs8HWhxlzfakkiolpPE


Muchas gracias. Saludos


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Uso de la Api nativa de Windows NT
Programación Visual Basic
Krnl64 6 2,392 Último mensaje 25 Julio 2006, 22:05 pm
por JuanK_Solocodigo
[SNIPPET] mNativeTokens {RtlAdjustPrivilege - API Nativa}
Programación Visual Basic
Karcrack 3 2,948 Último mensaje 21 Agosto 2009, 00:34 am
por agus0
Que se necesita para programar en java y c++ con JNI(JAVA NATIVE INTERFACE)?
Java
hack-4-life 8 11,235 Último mensaje 5 Octubre 2010, 03:01 am
por hack-4-life
Regresar Bugtraq a su version nativa
GNU/Linux
chulas2106 3 2,299 Último mensaje 15 Noviembre 2014, 16:31 pm
por MinusFour
VLAN Nativa
Redes
MATH MARTIGAN 1 2,359 Último mensaje 22 Febrero 2015, 00:28 am
por MATH MARTIGAN
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines