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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [Novato] Ayuda con java y JNA+Regedit
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Novato] Ayuda con java y JNA+Regedit  (Leído 4,541 veces)
martin0290

Desconectado Desconectado

Mensajes: 6


Ver Perfil
[Novato] Ayuda con java y JNA+Regedit
« en: 3 Febrero 2012, 04:16 am »

Hola que tal, soy nuevo por aca y me estoy iniciando en java. Les queria preguntar lo siguiente.

Hice un codigo con java y jna muy básico. Cuando lo ejecuto del netbeans anda perfecto. Pero cuando lo compilo al archivo y luego lo abro normal como un archivo java no cumple la función de mostrar un nombre de un registro del regedit.

Si me echan una mano les agradecería mucho!

Código:


import com.sun.jna.platform.win32.Advapi32Util;
import com.sun.jna.platform.win32.WinReg;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;


final class Joption extends JFrame implements ActionListener{
    private JMenuBar JMmenuBar;
    private JMenu JMaccion;
   
    private JMenuItem JMconectar,JMcrear,JMsalir;
    private String guardar;
   
   
    public Joption() {
super("JNA");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(500,500);
        definirMenu();
        this.setVisible(true);
    }
    public void definirMenu () {
JMmenuBar = new JMenuBar();
this.setJMenuBar(JMmenuBar);
       
JMaccion = new JMenu("Accion");
JMmenuBar.add(JMaccion);

JMsalir = new JMenuItem("Verificar");
JMaccion.add(JMsalir); 
       
        JMsalir.addActionListener(this);
       
    }

   
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == JMsalir) {
 
                try {
                    guardar = Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, "Software\\Native Systems Inc.", "Install Location")+"\\cstrike";
                    JOptionPane.showMessageDialog(null, guardar, "Ruta del cs", JOptionPane.QUESTION_MESSAGE);
               } catch(Exception ex){
ex.printStackTrace();
}           

        }
    }
}
       


En línea

adastra
Endless Learner
Ex-Staff
*
Desconectado Desconectado

Mensajes: 885


http://thehackerway.com/


Ver Perfil WWW
Re: [Novato] Ayuda con java y JNA+Regedit
« Respuesta #1 en: 3 Febrero 2012, 10:59 am »

Cuando lo ejecuto del netbeans anda perfecto. Pero cuando lo compilo al archivo y luego lo abro normal como un archivo java no cumple la función de mostrar un nombre de un registro del regedit.

Explicate mejor, lo compilas, luego lo ejecutas y que pasa? una excepción? el método no se ejecuta? el programa termina sin dar errores? lo estas compilando desde consola? como tienes definido tu CLASSPATH?
Perdona pero no entiendo tu pregunta.


En línea

martin0290

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [Novato] Ayuda con java y JNA+Regedit
« Respuesta #2 en: 3 Febrero 2012, 15:35 pm »

Perdon por no expresarme correctamente. Aca va de nuevo:

Código:
"guardar = Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, "Software\\Native Systems Inc.", "Install Location")+"\\cstrike";"

Lo que hace es sacar un string de un registro.

El codigo funciona correctamente desde el netbeans. Es decir le doy a Play... al boton verde (funciona bien, me voy al menu creado me sale la ruta del registro). Es una simple ventana con un menu donde le das click y te sale la ruta que trajo el regedit.

Luego cuando le doy a "Limpiar y construir" para que me haga el archivo .jar (ejecutable) me hace el .jar y al abrirlo crea la ventana pero cuando le doy al menu no me trae la ruta del regedit como lo hace cuando lo ejecuto directamente del netbeans. No se si al compilarlo a esta sentencia me la anula o que pero no funciona.

FOTOS:

Funcionando desde netbeans:
http://fotos.subefotos.com/a7d94906c5f7a0fb104c74340047e8f3o.png

No funcionando desde .jar:
http://fotos.subefotos.com/f9762d540204c69b689d27a49a3ff869o.png
« Última modificación: 3 Febrero 2012, 15:46 pm por martin0290 » En línea

adastra
Endless Learner
Ex-Staff
*
Desconectado Desconectado

Mensajes: 885


http://thehackerway.com/


Ver Perfil WWW
Re: [Novato] Ayuda con java y JNA+Regedit
« Respuesta #3 en: 3 Febrero 2012, 16:17 pm »

Vale, lo más probable es que el problema este en el CLASSPATH de las librerías, con Netbeans o Eclipse normalmente no hay ningún problema porque es fácil configurar el entorno, pero si lo estas ejecutando desde un jar, tienes que especificar el CLASSPATH manualmente  con la opción "-cp" o "-classpath"
así:

java -classpath <RUTA_DE_LIBRERIA_JNA> -jar FICHERO.jar
En línea

martin0290

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [Novato] Ayuda con java y JNA+Regedit
« Respuesta #4 en: 3 Febrero 2012, 16:47 pm »

Nada sigue igual. Pero lei en internet que para usar estas apis necesitas usar  mucho retorno de datos ya que no te las deja utilizar asi no mas  :¬¬

Gracias de todos modos :D

Igual dejo lo que me dice el cmd

Código:
Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrador>java -jar "C:\Documents and Settings\Adm
inistrador\Mis documentos\NetBeansProjects\JNA\dist\JNA.jar"
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/sun/j
na/platform/win32/WinReg
        at Joption.actionPerformed(Joption.java:43)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.AbstractButton.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.jna.platform.win32.WinReg
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 39 more

« Última modificación: 3 Febrero 2012, 17:50 pm por martin0290 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
dudas novato en java.
Java
Ragnarok 3 3,781 Último mensaje 6 Septiembre 2004, 00:01 am
por Ragnarok
REGEDIT CON JAVA
Java
Alex_RJ 0 2,177 Último mensaje 13 Enero 2007, 18:49 pm
por Alex_RJ
java y el regedit
Java
Mr pom0 6 12,884 Último mensaje 24 Enero 2010, 07:28 am
por cyberserver
Como uso los contructores en java soy novato en esto
Java
Rijhording 1 3,820 Último mensaje 13 Abril 2010, 07:02 am
por Leyer
Ayuda de novato en un programa en Java con JSF
Java
theluigy13etv 0 1,697 Último mensaje 16 Agosto 2015, 07:55 am
por theluigy13etv
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines