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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


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


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Otro estilo en Java
« en: 22 Noviembre 2017, 23:52 pm »

Hola:

Aquí hay un código hecho en Java usando WMPlayer.OCX.7. Quiero usar en Java mciSendString(L"Set CDAudio Door Open Wait", 0, 0, 0);
Es para abrir y cerrar la bandeja.

Código
  1. /**
  2.  
  3.  *
  4.  
  5.  */
  6.  
  7. package com.sabado;
  8.  
  9.  
  10.  
  11. import java.io.File;
  12.  
  13. import java.io.FileWriter;
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21. /**
  22.  
  23.  * -.-
  24.  
  25.  *
  26.  
  27.  */
  28.  
  29. public class Unidad {
  30.  
  31.  
  32.  
  33. /**
  34.  
  35. * @param args
  36.  
  37. */
  38.  
  39. public static void main(String[] args) {
  40.  
  41. // TODO Auto-generated method stub
  42.  
  43. //mostramos mensajes antes de abrir las bandejas de CD DVD
  44.  
  45. javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
  46.  
  47.               null, "Pulsa OK para abrir las bandejas de los " +
  48.  
  49.       "lectores/grabadores de CD/DVD del equipo.", "Abrir CD/DVD",
  50.  
  51.               javax.swing.JOptionPane.DEFAULT_OPTION);
  52.  
  53.    Unidad.abrirBandejaCDDVD();
  54.  
  55.  
  56.  
  57. //mostramos mensaje antes de cerrar las bandejas de CD DVD
  58.  
  59. javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
  60.  
  61.         null, "Pulsa OK para cerrar las bandejas de los " +
  62.  
  63.       "lectores/grabadores de CD/DVD del equipo.", "Cerrar CD/DVD",
  64.  
  65.         javax.swing.JOptionPane.DEFAULT_OPTION);
  66.  
  67.    Unidad.cerrarBandejaCDDVD();
  68.  
  69.  
  70.  
  71. }
  72.  
  73.  
  74.  
  75. public static void abrirBandejaCDDVD ()
  76.  
  77.  {
  78.  
  79.  
  80.  
  81.  try
  82.  
  83.  {
  84.  
  85.        File file = File.createTempFile("abrirbandejacd",".vbs");
  86.  
  87.        file.deleteOnExit();
  88.  
  89.        FileWriter fw = new java.io.FileWriter(file);
  90.  
  91.        String vbs = "Set objPlayer = CreateObject(\"WMPlayer.OCX.7\") \n"
  92.  
  93.                   + "Set collCDROM = objPlayer.cdromCollection \n"
  94.  
  95.                   + "if collCDROM.Count >= 1 then \n"
  96.  
  97.                   + "For i = 0 to collCDROM.Count - 1 \n"
  98.  
  99.   + "collCDROM.Item(i).Eject \n"
  100.  
  101.   + "Next \n"
  102.  
  103.   + "End If \n";
  104.  
  105.        fw.write(vbs);
  106.  
  107.        fw.close();
  108.  
  109.        Runtime.getRuntime().exec("wscript " + file.getPath()).waitFor();
  110.  
  111.    }
  112.  
  113.    catch(Exception e)
  114.  
  115. {
  116.  
  117.        e.printStackTrace();
  118.  
  119.    }
  120.  
  121.  }
  122.  
  123.  
  124.  
  125. public static void cerrarBandejaCDDVD()
  126.  
  127.  {
  128.  
  129.    try
  130.  
  131.    {
  132.  
  133.        File file = File.createTempFile("cerrarbandejacd",".vbs");
  134.  
  135.        file.deleteOnExit();
  136.  
  137.        FileWriter fw = new FileWriter(file);
  138.  
  139.        //para cerrar las bandejas de CD hay que ejecutar "eject" dos veces
  140.  
  141.        String vbs = "Set objPlayer = CreateObject(\"WMPlayer.OCX.7\") \n"
  142.  
  143.                   + "Set collCDROM = objPlayer.cdromCollection \n"
  144.  
  145.                   + "if collCDROM.Count >= 1 then \n"
  146.  
  147.                   + "For i = 0 to collCDROM.Count - 1 \n"
  148.  
  149.   + "collCDROM.Item(i).Eject \n"
  150.  
  151.   + "collCDROM.Item(i).Eject \n"
  152.  
  153.   + "Next \n"
  154.  
  155.   + "End If \n";
  156.  
  157.        fw.write(vbs);
  158.  
  159.        fw.close();
  160.  
  161.        Runtime.getRuntime().exec("wscript " + file.getPath()).waitFor();
  162.  
  163.    }
  164.  
  165.    catch(Exception e)
  166.  
  167. {
  168.  
  169.        e.printStackTrace();
  170.  
  171.    }
  172.  
  173.  }
  174.  
  175. }

¿Algún ejemplo usando mciSendString en Java?

Lo pregunto porque el de arriba es mucho código para lo que hay que hacer, abrir y cerrar la bandeja.

Un ejemplo en C++ se hace en menos líneas de códigos, por ejemplo este indicado abajo.

Paso 1:


Paso 2:


Paso3:
Escribir Winmm.lib.


Paso 4:


Sólo se necesita tres includes.

Código
  1. #include "stdafx.h"
  2. #include "Windows.h"
  3. #include "iostream"
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9. // Título de la ventana.
  10. SetConsoleTitle(L"Consola C++ Win32 2017");
  11.  
  12. // Variable.
  13. char entrada[] = "\0"; // Guarda A, a, C, y c tipo string que introduces desde la consola.
  14.  
  15. while (true)
  16. {
  17. // Muestra en pantalla textos.
  18. cout << "Control bandeja del lector: " << endl << endl;
  19. cout << "A - Abrir bandeja." << endl;
  20. cout << "C - Cerrar bandeja." << endl;
  21. cout << "==========================" << endl;
  22.  
  23. cin >> entrada; // Aquí introduces letras A, a, C, y c.
  24.  
  25. cout << "\n" << endl;
  26.  
  27. // Abrir bandeja.
  28. if ((entrada[0] == 'a') || (entrada[0] == 'A'))
  29. {
  30. cout << "Abriendo..." << endl << endl; // Muestra en pantalla textos.
  31. mciSendString(L"set cdaudio door open", nullptr, 0, nullptr);
  32. cout << "Abierto." << endl << endl; // Muestra en pantalla textos.
  33. }
  34. // Cerrar bandeja.
  35. else if ((entrada[0] == 'c') || (entrada[0] == 'C'))
  36. {
  37. cout << "Cerrando..." << endl << endl; // Muestra en pantalla textos.
  38. mciSendString(L"set cdaudio door closed", nullptr, 0, nullptr);
  39. cout << "Cerrado." << endl << endl; // Muestra en pantalla textos.
  40. }
  41. // Si haz pulsado otro caracter distinto de A, C, a, y c aparece
  42. else
  43. {
  44. cout << "Solo pulsar A o C." << endl << endl; // este mensaje.
  45.  
  46. }
  47. }
  48. return EXIT_SUCCESS;
  49. }

Saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Botones estilo XP, MAC, JAVA, FLAT, NETSCAPE ... [VB6]
Java
Mad Antrax 2 6,544 Último mensaje 7 Julio 2004, 06:53 am
por Mad Antrax
Como se llaman este estilo de imagenes? (otro estilo XD) « 1 2 »
Diseño Gráfico
Jnex 16 12,480 Último mensaje 18 Marzo 2009, 02:16 am
por JERRY110982
Icono parpadeante estilo msn en Java?
Java
Zzombi 4 5,672 Último mensaje 9 Noviembre 2011, 03:20 am
por 1mpuls0
PINE64, otro mini-ordenador al estilo Raspberry Pi de gran potencia por 15 $
Noticias
wolfbcn 1 1,695 Último mensaje 7 Diciembre 2015, 19:40 pm
por crazykenny
La policía ucraniana advierte de otro ataque masivo estilo Petya para estos días
Noticias
wolfbcn 0 1,646 Último mensaje 15 Octubre 2017, 02:49 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines