Adaptar C++ CLR a C++ Win32

  • 0 Respuestas
  • 889 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Meta

  • *
  • Underc0der
  • Mensajes: 27
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Adaptar C++ CLR a C++ Win32

  • en: Noviembre 16, 2017, 12:16:47 am
Hola:

Quiero adaptar este código de C++ CLR a C++ Win32. Antes que nada, quiero saber si es posible o hay que complicarse mucho la vida para hacer lo mismo. El código lo que hace es abrir y cerrar la bandeja de cualquier lector de discos sea IDE o SATA.

Código C++ CLR:
Código: [Seleccionar]
#include "stdafx.h"

using namespace System;
using namespace System::Runtime::InteropServices;
using namespace System::Text;

[DllImport("winmm.dll")]
extern Int32 mciSendString(String^ lpstrCommand, StringBuilder^ lpstrReturnString,
   int uReturnLength, IntPtr hwndCallback);

static void DoEvents()
{
   Console::SetCursorPosition(0, 6);
   Console::Write("Abriendo...");
}

static void DoEvents2()
{
   Console::SetCursorPosition(0, 6);
   Console::Write("Cerrando...");
}

int main(array<System::String ^> ^args)
{
   StringBuilder^ rt = gcnew StringBuilder(127);

   // Título de la ventana.
   Console::Title = "Control lector de bandeja. C++ CLR";

   // Tamaño ventana consola.
   Console::WindowWidth = 29; // X. Ancho.
   Console::WindowHeight = 8; // Y. Alto.

                       // Cursor invisible.
   Console::CursorVisible = false;

   // Posición del mansaje en la ventana.
   Console::SetCursorPosition(0, 0);
   Console::WriteLine("Control bandeja del lector : \n\n" +
      "A - Abrir bandeja. \n" +
      "C - Cerrar bandeja. \n" +
      "========================== \n");
   //Console::WriteLine("A - Abrir bandeja.");
   //Console::WriteLine("C - Cerrar bandeja.");
   //Console::Write("==========================");

   ConsoleKey key;
   //Console::CursorVisible = false;
   do
   {
      key = Console::ReadKey(true).Key;

      String^ mensaje = "";

      //Asignamos la tecla presionada por el usuario
      switch (key)
      {
      case ConsoleKey::A:
         mensaje = "Abriendo...";
         Console::SetCursorPosition(0, 6);
         DoEvents();
         mciSendString("set CDAudio door open", rt, 127, IntPtr::Zero);
         mensaje = "Abierto.";
         break;

      case ConsoleKey::C:
         mensaje = "Cerrando...";
         Console::SetCursorPosition(0, 6);
         DoEvents2();
         mciSendString("set CDAudio door closed", rt, 127, IntPtr::Zero);
         mensaje = "Cerrado.";
         break;
      }

      Console::SetCursorPosition(0, 6);
      Console::Write("           ");
      Console::SetCursorPosition(0, 6);
      Console::Write(mensaje);

   } while (key != ConsoleKey::Escape);
    return 0;
}

Saludos.
« Última modificación: Noviembre 16, 2017, 02:54:21 am por Gabriela »

 

Malware Win32 Almanahe en Android

Iniciado por unsec

Respuestas: 0
Vistas: 1463
Último mensaje Diciembre 03, 2014, 08:54:59 am
por unsec
Sacar firma avast Win32 evo gen

Iniciado por elreymusedes

Respuestas: 0
Vistas: 1257
Último mensaje Agosto 08, 2016, 04:26:32 pm
por elreymusedes
Win32/Parite B.virus ayuda

Iniciado por FMtH

Respuestas: 2
Vistas: 2217
Último mensaje Agosto 13, 2011, 01:44:35 pm
por darkangel2125
[SOLUCIONADO] Me recomiendan libros de Win32 API?

Iniciado por fRNNN

Respuestas: 3
Vistas: 571
Último mensaje Diciembre 10, 2019, 08:27:51 pm
por fRNNN
Recursos en win32

Iniciado por xkeycode

Respuestas: 8
Vistas: 4034
Último mensaje Junio 30, 2017, 12:43:35 pm
por xkeycode