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


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: 1 ... 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [21] 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ... 68
201  Programación / .NET (C#, VB.NET, ASP) / Cerrar y abrir la bandeja del lector con el botón manualmente, y que lo sepa C# en: 15 Marzo 2017, 11:11 am
Hola:

Quiero cerrar y abrir la bandeja del lector de DVD con el botón manualmente, y que lo sepa C#. Estoy usando Visual Studio Community 2017.

En otro momento hicimos desde C#, controlar la bandeja abrirla y cerrarla pulsando los botones como indica en la interfaz de abajo.



Código fuente sencillo de C#:
Código
  1. using System;
  2. using System.Runtime.InteropServices; // No olvidar.
  3. using System.Text;
  4. using System.Windows.Forms;
  5.  
  6. namespace Lector_discos_cs
  7. {
  8.    public partial class Form1 : Form
  9.    {
  10.        public Form1()
  11.        {
  12.            InitializeComponent();
  13.        }
  14.  
  15.        [DllImport("winmm.dll")]
  16.        public static extern Int32 mciSendString(string lpstrCommand, StringBuilder lpstrReturnString,
  17.            int uReturnLength, IntPtr hwndCallback);
  18.  
  19.        StringBuilder rt = new StringBuilder(127);
  20.  
  21.        private void button_Abrir_Click(object sender, EventArgs e)
  22.        {
  23.            label_Mensaje.Text = "Abriendo...";
  24.            Application.DoEvents();
  25.            mciSendString("set CDAudio door open", rt, 127, IntPtr.Zero);
  26.            label_Mensaje.Text = "Abierto";
  27.        }
  28.  
  29.        private void button_Cerrar_Click(object sender, EventArgs e)
  30.        {
  31.            label_Mensaje.Text = "Cerrando...";
  32.            Application.DoEvents();
  33.            mciSendString("set CDAudio door closed", rt, 127, IntPtr.Zero);
  34.            label_Mensaje.Text = "Cerrado";
  35.        }
  36.    }
  37. }

Hasta aquí todo bien.

Ahora quiero hacer, saber antes que nada, si es posible que al meter la bandeja con la mano o pulsar el botón físicamente del lector, C# puede saber su estado, cunado está abierto y cuando está cerrado.

En este caso, no hay botones para Windows Form de C#, solo un label que indica el estado "ABIERTO" y "CERRADO".

¿Es posible hacerlo?

Si es así. ¿Cómo se hace?

Lo único que pensé que este enlace valdría la pena o te daba información, pero es otra cosa.

Que tengan buena semana. ;)
202  Programación / Programación C/C++ / [Tutorial] Formulario Windows VC++ 2017 para iniciados en: 13 Marzo 2017, 23:05 pm


Tutorial para iniciados de modo introducción de los tres métodos para crear un formulario. Ya puedes configurar en algunas tecnologías el primer formulario con cualquiera de ellso eligiendeo CLR, MFC o Win32 en C++ con Visual Studio Community 2017.

Ver tutorial.

Un cordial saludos.

PD: También tutorial la versión Visual studio Community 2015.
203  Programación / Programación C/C++ / No encuentra la laibrería estandar en Visual C++ en: 13 Marzo 2017, 06:35 am
Hola:

Estoy usando el nuevo Visual C++ 2017 con Win32. He probado este ejemplo que puedes ver en este enlace.

https://msdn.microsoft.com/es-es/library/bb384843.aspx

El código de ejemplo que viene completo al final del documento, si funciona muy bien para Visual Stduio Community 2015, no da ningún problema. Este mismo código me da problemas con Visual Studuio Community 2017.

Código
  1. // GT_HelloWorldWin32.cpp
  2. // compile with: /D_UNICODE /DUNICODE /DWIN32 /D_WINDOWS /c
  3.  
  4. #include <windows.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7. #include <tchar.h>
  8.  
  9. // Global variables
  10.  
  11. // The main window class name.
  12. static TCHAR szWindowClass[] = _T("win32app");
  13.  
  14. // The string that appears in the application's title bar.
  15. static TCHAR szTitle[] = _T("Formulario");
  16.  
  17. HINSTANCE hInst;
  18.  
  19. // Forward declarations of functions included in this code module:
  20. LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
  21.  
  22. int WINAPI WinMain(HINSTANCE hInstance,
  23. HINSTANCE hPrevInstance,
  24. LPSTR lpCmdLine,
  25. int nCmdShow)
  26. {
  27. WNDCLASSEX wcex;
  28.  
  29. wcex.cbSize = sizeof(WNDCLASSEX);
  30. wcex.style = CS_HREDRAW | CS_VREDRAW;
  31. wcex.lpfnWndProc = WndProc;
  32. wcex.cbClsExtra = 0;
  33. wcex.cbWndExtra = 0;
  34. wcex.hInstance = hInstance;
  35. wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
  36. wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
  37. wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
  38. wcex.lpszMenuName = NULL;
  39. wcex.lpszClassName = szWindowClass;
  40. wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
  41.  
  42. if (!RegisterClassEx(&wcex))
  43. {
  44. MessageBox(NULL,
  45. _T("Call to RegisterClassEx failed!"),
  46. _T("Win32 Guided Tour"),
  47. NULL);
  48.  
  49. return 1;
  50. }
  51.  
  52. hInst = hInstance; // Store instance handle in our global variable
  53.  
  54.   // The parameters to CreateWindow explained:
  55.   // szWindowClass: the name of the application
  56.   // szTitle: the text that appears in the title bar
  57.   // WS_OVERLAPPEDWINDOW: the type of window to create
  58.   // CW_USEDEFAULT, CW_USEDEFAULT: initial position (x, y)
  59.   // 500, 100: initial size (width, length)
  60.   // NULL: the parent of this window
  61.   // NULL: this application does not have a menu bar
  62.   // hInstance: the first parameter from WinMain
  63.   // NULL: not used in this application
  64. HWND hWnd = CreateWindow(
  65. szWindowClass,
  66. szTitle,
  67. WS_OVERLAPPEDWINDOW,
  68. CW_USEDEFAULT, CW_USEDEFAULT,
  69. 300, 300,
  70. NULL,
  71. NULL,
  72. hInstance,
  73. NULL
  74. );
  75.  
  76. if (!hWnd)
  77. {
  78. MessageBox(NULL,
  79. _T("Call to CreateWindow failed!"),
  80. _T("Win32 Guided Tour"),
  81. NULL);
  82.  
  83. return 1;
  84. }
  85.  
  86. // The parameters to ShowWindow explained:
  87. // hWnd: the value returned from CreateWindow
  88. // nCmdShow: the fourth parameter from WinMain
  89. ShowWindow(hWnd,
  90. nCmdShow);
  91. UpdateWindow(hWnd);
  92.  
  93. // Main message loop:
  94. MSG msg;
  95. while (GetMessage(&msg, NULL, 0, 0))
  96. {
  97. TranslateMessage(&msg);
  98. DispatchMessage(&msg);
  99. }
  100.  
  101. return (int)msg.wParam;
  102. }
  103.  
  104. //
  105. //  FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM)
  106. //
  107. //  PURPOSE:  Processes messages for the main window.
  108. //
  109. //  WM_PAINT    - Paint the main window
  110. //  WM_DESTROY  - post a quit message and return
  111. //
  112. //
  113. LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
  114. {
  115. PAINTSTRUCT ps;
  116. HDC hdc;
  117. TCHAR greeting[] = _T("Visual C++ 2017 Win32");
  118.  
  119. switch (message)
  120. {
  121. case WM_PAINT:
  122. hdc = BeginPaint(hWnd, &ps);
  123.  
  124. // Here your application is laid out.
  125. // For this introduction, we just print out "Hello, World!"
  126. // in the top left corner.
  127. TextOut(hdc,
  128. 55, 105,
  129. greeting, _tcslen(greeting));
  130. // End application-specific layout section.
  131.  
  132. EndPaint(hWnd, &ps);
  133. break;
  134. case WM_DESTROY:
  135. PostQuitMessage(0);
  136. break;
  137. default:
  138. return DefWindowProc(hWnd, message, wParam, lParam);
  139. break;
  140. }
  141.  
  142. return 0;
  143. }

El error que me da es este:

Gravedad    Código    Descripción    Proyecto    Archivo    Línea    Estado suprimido
Error    C1010    final de archivo inesperado al buscar la directiva de encabezado precompilado. Compruebe si olvidó agregar '#include "stdafx.h"' al código fuente?    Proyecto_Win32    c:\users\usuario\documents\visual studio 2017\projects\proyecto_win32\proyecto_win32\mensaje_texto.cpp    145   


Si pongo arriba dicho #include "stdafx.h" me marca como error, como que no lo encuentra.

¿Alguna idea?

Saludos.
204  Programación / .NET (C#, VB.NET, ASP) / Instalar las herramientas comunes del VC++ 2017 en: 13 Marzo 2017, 01:53 am
Hola:

He intentado descargar la versión ISO del Visual Studio Community 2017 (gratuito) en el cual ya no se puede porque no cabe en un DVD. Pero hay un truco para tenerlo todo en el local, a mi me ocupa unos 20 GB descargado. Más información de cómo se hace aquí.

Me sale al ejecutar el ejecutable este menú.


Ver zoom.

Lo he instaldo desde la Web y apenas me aparecen plantillas, ni siquiera me aparece el de Windows Form de C#, ni Visual Basic .net.

Ahora lo tengo descargado en local y desistanlé por vía Web por si acaso. Por si acaso, voy a instalar los tres que pone arriba wn Windowa.
Desarrollo de la plataforma universal de  Windows.
Desarrollo de escritorio .net
Desarrollo para el escritorio con C++.


En la página 10 de este documento de abajo indica las herramientas comunes de VS 2015 y en el VS 2017 no se donde está.

https://www.slideshare.net/Metaconta2/formulario-windows-con-visual-c

¿Alguna idea?

Saludos.

PD: En este mismo momento, instalando las tres primeras opciones.
205  Seguridad Informática / Hacking / Hackear una impresora en: 10 Febrero 2017, 13:10 pm
Hola:

Tengo una impresora por USB. Quiero aprender como se hackea desde red, al menos desde la Raspberry Pi o otro ordenador y que la impresora imprima. Hay gente que lo hacen y de modo cómico.


http://www.neoteo.com/impresora-parte-una-botnet-la-seguridad-las-impresoras-al-descubierto

Si hay que hacer un programa, pues se hace. ;)

Cualquier idea o sugerencia, bienvenido sea.

Saludos.
206  Programación / .NET (C#, VB.NET, ASP) / Pasar de C# a F# con Visual Studio Community 2015 en: 28 Enero 2017, 15:42 pm
Hola:

Mirando aquí este código en C#, está en C++ y VB .net, pero en F# no veo ni papa.

Cambiar de C# por F#:
Código
  1. using System;
  2. using System.IO.Ports;
  3.  
  4. class PortDataReceived
  5. {
  6.    public static void Main()
  7.    {
  8.        SerialPort mySerialPort = new SerialPort("COM1");
  9.  
  10.        mySerialPort.BaudRate = 9600;
  11.        mySerialPort.Parity = Parity.None;
  12.        mySerialPort.StopBits = StopBits.One;
  13.        mySerialPort.DataBits = 8;
  14.        mySerialPort.Handshake = Handshake.None;
  15.        mySerialPort.RtsEnable = true;
  16.  
  17.        mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
  18.  
  19.        mySerialPort.Open();
  20.  
  21.        Console.WriteLine("Press any key to continue...");
  22.        Console.WriteLine();
  23.        Console.ReadKey();
  24.        mySerialPort.Close();
  25.    }
  26.  
  27.    private static void DataReceivedHandler(
  28.                        object sender,
  29.                        SerialDataReceivedEventArgs e)
  30.    {
  31.        SerialPort sp = (SerialPort)sender;
  32.        string indata = sp.ReadExisting();
  33.        Console.WriteLine("Data Received:");
  34.        Console.Write(indata);
  35.    }
  36. }

He intentado encontrar tutoriales de F# en español, más bien estáenel MSDN de los foros oficiales.
https://msdn.microsoft.com/es-es/library/dd233160(v=vs.110).aspx
https://msdn.microsoft.com/es-es/library/ee241126(v=vs.110).aspx
https://msdn.microsoft.com/es-es/library/ee241127(v=vs.110).aspx

Para saber de que va está bien. Para hacer el minichat de arriba de C# a F# lo veo más complicado.

Vídeos del 2009, mejor algo que nada en español.

Segunda parte.

Casi no hay nada de video tutoriales en español, de PowerShell está habiendo más aunque este último es másbien para tareas administrativas.

¿Alguna ayuda?

Un cordial saludo.

PD: Como se nota que no mola a lagente F# y si otros lenguajes, sobre todo, hoy en día se usa VB 6 en el cual no se recomienda para equipos actuales y no lo sueltan ni por asomo. ;)
207  Informática / Electrónica / Diseñar tu propia luz de Led. en: 27 Enero 2017, 20:32 pm
Hola:

Cada vez que veola gente comprar plafones de Led, le advierten que con el tiempo pierden intensidad e iluminación o se apagan de repente.

Me acaban de regalar este.

Es para techo falso.
Downlight LED regulable empotrable y redondo en acabado blanco, con una potencia de 20W y 1700 lúmenes. Tono de luz neutra (4000K) sustituye al downlight de bajo consumo. Incluye fuente de alimentación (driver dimmable). Versión: 06-12-2014.

El transformador que viene dice ser de 100-240 VAC de entrada y salida 54-63 VDC 300 mA.y cuando lo mides con el tester en vacío te suelta 81 VDC.

Estas lámparas se cascan rápido y según indican aquí.
http://www.luisllamas.es/2013/04/verdades-y-mentiras-sobre-la-vida-util-de-los-led/

La verdad que hay gente que inventan sus propis diseños increibles.
https://es.pinterest.com/explore/l%C3%A1mpara-led-957789226697/

La mejor opción para bajo mi punto de vista, es construirse su propia lápara de Led, hasta la fuente de alimentación o suar una de calidad.



http://www.neoteo.com/diy-lampara-de-bajo-consumo-led

¿Alguna experiencia por parte de ustedes o opinión?

Saludos.
208  Programación / .NET (C#, VB.NET, ASP) / Hacer cambios de este código. en: 25 Enero 2017, 03:05 am
Hola:

Tengo este código de abajo que funciona bien. Lo que hace es, al recibir algún dato por el puerto serie, me lo almacena en un array y guarda el archivo en el disco duro. Hecho en C#.
Código
  1. using System;
  2. using System.Diagnostics;
  3. using System.IO;
  4. using System.IO.Ports;
  5.  
  6. namespace Recibir_archivo_desde_Arduino_consola_02
  7. {
  8.    class Program
  9.    {
  10.        static void Main(string[] args)
  11.        {
  12.            string COM = "";
  13.  
  14.            // Tamaño ventana consola.
  15.            Console.WindowWidth = 55; // X. Ancho.
  16.            Console.WindowHeight = 15; // Y. Alto.
  17.            Console.Title = "Recoger foto desde Arduino y crearlo en el disco duro"; // Título de la ventana.
  18.  
  19.            // Crear un nuevo objeto SerialPort con la configuración predeterminada.
  20.            SerialPort Puerto_serie = new SerialPort();
  21.  
  22.            // Configuración.
  23.            Console.Write(@"
  24. Introduzca un número para seleccionar puerto COM.
  25. Por ejemplo el 4, sería COM4.
  26.  
  27. Puerto: ");
  28.            COM = Console.ReadLine(); // Escribir el número del puerto.
  29.            Console.Clear();
  30.  
  31.            Puerto_serie.PortName = "COM" + COM; // Número del puerto serie.
  32.  
  33.  
  34.            Puerto_serie.BaudRate = 115200; // Baudios. 115200.
  35.            Puerto_serie.Parity = Parity.None; // Paridad.
  36.            Puerto_serie.DataBits = 8; // Bits de datos.
  37.            Puerto_serie.StopBits = StopBits.Two; // Bits de parada.
  38.            Puerto_serie.Handshake = Handshake.None; // Control de flujo.
  39.  
  40.            // Establecer la lectura / escritura de los tiempos de espera.
  41.            Puerto_serie.ReadTimeout = -1; // 500.
  42.            Puerto_serie.WriteTimeout = -1; // 500.
  43.  
  44.            try
  45.            {
  46.                Puerto_serie.Open(); // Abrir el puerto serie.
  47.            }
  48.  
  49.            catch (IOException)
  50.            {
  51.                Console.ForegroundColor = ConsoleColor.Red; // Texto en rojo.
  52.                Console.CursorVisible = false;
  53.                Console.SetCursorPosition(16, 6);
  54.                Console.WriteLine(@"El puerto " + Puerto_serie.PortName + @" no existe
  55.                o no lo encuentra.");
  56.                Console.ReadKey(); // Pulse cualquier tecla para salir.
  57.            }
  58.  
  59.            catch (UnauthorizedAccessException e)
  60.            {
  61.                Console.WriteLine(e);
  62.            }
  63.            Puerto_serie.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
  64.  
  65.            Console.WriteLine("Esperando datos desde Arduino...");
  66.            Console.Read();
  67.            Puerto_serie.Close(); // Cerrar puerto.
  68.        }
  69.  
  70.        private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
  71.  
  72.        {
  73.            try
  74.            {
  75.                SerialPort sp = (SerialPort)sender;
  76.                int contador = 0;
  77.                byte[] datosArray = new byte[17729]; // Aquí tengo que cambiar el valor cuando recibo datos desde el puerto serie.
  78.  
  79.                while (contador < datosArray.Length)
  80.                {
  81.  
  82.                    contador += sp.Read(datosArray, contador, datosArray.Length - contador);
  83.  
  84.                    Console.SetCursorPosition(10, 2);
  85.                    Console.Write("Datos recibidos:  {0}", contador);
  86.                    Console.WriteLine("                   ");
  87.  
  88.                    if (contador == 17729)
  89.                    {
  90.                        Console.WriteLine();
  91.                        Console.WriteLine("Creando archivo al disco duro...");
  92.                        File.WriteAllBytes("fotón.jpg", datosArray); // Crear archivo en el disco duro.
  93.                        Console.WriteLine();
  94.                        Console.WriteLine("Archivo creado. Ejecutando imagen.");
  95.                        Process.Start("fotón.jpg"); // Ejecutar visualizador de imágenes.
  96.                        Console.WriteLine();
  97.                        Console.WriteLine("Imagen ejecutada.");
  98.                        Console.WriteLine();
  99.                        Console.ForegroundColor = ConsoleColor.Yellow; // Letras amarillas.
  100.                        Console.WriteLine("FIN DE PROGRAMA.");
  101.                        Console.ForegroundColor = ConsoleColor.Gray; // Letras grises otra vez.
  102.                    }
  103.                }
  104.            }
  105.  
  106.  
  107.            catch (TimeoutException)
  108.            {
  109.                //maybe increase ReadTimeout or something, use exponential backoff, your call
  110.            }
  111.  
  112.            catch (IOException)
  113.            {
  114.                // Console.WriteLine("La operación de E/S se anuló por una salida de subproceso o por una solicitud de aplicación.");
  115.            }
  116.        }
  117.    }
  118. }
  119.  

Quiero tener ideas para modificar este programa.

Los datos del puerto serie puede llegar desde Arduino o desde otro PC. Como llega desde Arduino en este caso, tiene dos botones, si pulsa el primer botón, C# recibe ciertos comandos que son estos:

Si en Arduino presiono el primer botón, C# le llega este número de 5 Bytes en este caso, 17729. Ese valor tiene que incluirse aquí, en esta parte del código indicado abajo.

Código
  1. byte[] datosArray = new byte[17729];

Como puedes ver, he puesto manualmente el valor de este array 17729.

¿Cómo hago que al detectar cualquier valor, en este caso 17729 sea para el array datosArray?

Digo 17729 como ejemplo, si le llega 478, pues que sea 478.

Lo que no entiendo que luego de llegar 17729, que son solo 5 dígitos, llegará de inforamación 17729 Bytes detrás.

Si no haz entendido algo, preguntar para explicarlo de otra manera.

Saludos.
209  Programación / Programación General / Curioseando lenguajes que apenas he tocado y algunos ni eso en: 24 Enero 2017, 16:42 pm
Hola:

Quiero saber vuestras experiencias sobre lenguajes de programación que voy a nombrar si lo han probado.

Quiero probar con Visual Studio Community 2015 (Gratuito) este lenguaje llamado R. Se puede programar bajando un programa apra añadirlo en Visual Studio, aunque ya vendrá de forma oficial en Visual Studio 2017, por ahora solo está la versión RC.

Lenguaje F#. En su día lo probé en consola, creo que no tiene modo Visual. He intentado hacer este código de ejemplo en C# a F# sin éxito para saber si puedo controlar el puerto serie, hay que conocer muchas cosas.

estuve un tiempo con [url0https://es.wikipedia.org/wiki/Windows_PowerShell]PowerShell[/url], he leído noticias de este tipo, adiós a CMD y el sustituto es PowerShell. No se consiedra este lenguaje para desarroladores, si F#. Por esono se encuentra en los foros oficiales del MSDN y si en TechNET, es más bien para administración mediante Scrips sobre todo para Windows Server.

En Resumen:
Lenguaje R, F# y PowerShell.

¿Qué opinas?

Saludos.
210  Sistemas Operativos / GNU/Linux / Lograr comunicar puerto serie con VirtaulBox en: 23 Enero 2017, 17:46 pm
Hola:

Tengo en el virtual Box instalado openSUSE v42.2. (No me digan po rprivado que use Kali Linux porque lo usa mucho en Mr Robot, xd).

Instalé el minicom, que es el equivalente del HyperTerminal de Windows, desde ahí envio y recibo datos por el puerto serie, quiero comunicarlo con Arduino y no me lo detecta.

Aquí hay un documento que si me funciona si tengo instalado en el disco duro openSuse, pero no si lo tengo instalado en una máuina virtual como Virtual Box.

Ver tutorial.

¿Alguna ayuda?

Saludos.
Páginas: 1 ... 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [21] 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ... 68
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines