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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 [43] 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 ... 255
421  Programación / Programación C/C++ / Re: ¿Cómo añadir dos botones al formulario? en: 7 Abril 2018, 19:04 pm
CLR es .net. Estoy haciendo pruebas con Win32, C++ nativo. ;)
422  Programación / Programación C/C++ / Re: ¿Cómo añadir dos botones al formulario? en: 7 Abril 2018, 18:46 pm
Buenas:

Me alegro que ya se pueda ver als capturas de pantalla.

En todo el proyecto he encontrado el código para redimensionar la ventana aquí.

Código
  1.   HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
  2.      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);

Pisiste el enlace, pero no se parece nada para modificar las coordenadas X, Y, así pongo los valores a 300 x 300.

Dios mio, si que es complicado el santo formulario con el Win32. ;)

En el ejemplo que diste:
Código
  1. HWND hwndButton = CreateWindow(
  2.    L"BUTTON",  // Predefined class; Unicode assumed
  3.    L"OK",      // Button text
  4.    WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,  // Styles
  5.    10,         // x position
  6.    10,         // y position
  7.    100,        // Button width
  8.    100,        // Button height
  9.    m_hwnd,     // Parent window
  10.    NULL,       // No menu.
  11.    (HINSTANCE)GetWindowLong(m_hwnd, GWL_HINSTANCE),
  12.    NULL);      // Pointer not needed.
  13.  

Es todo un reto.

Saludos.
423  Programación / Programación C/C++ / Re: ¿Cómo añadir dos botones al formulario? en: 7 Abril 2018, 18:07 pm
Vuelve a cargar la página para que se vean las imágenes, son 4, cada paso una captura.

Si no se ve nada por mucho que hagas, me avisas y lo subo en otro lado.
424  Programación / Programación C/C++ / [SOLUCIONADO] ¿Cómo añadir dos botones al formulario? en: 7 Abril 2018, 17:49 pm
Hola:

He creado un formulario con Windows Form (Win32). Quiero añadir en él dos botones. Por ahora he hecho esto.

Paso 1:


Paso 2:


Pado 3:


Se me genera códigos pero no se ve el formulario. Lo que demuestra se un engorro programar así hoy en día, pero hay empresas que si programan así y enseñan en algunas universidades les gusten a los alumnos o no.

Paso 4:


Aquí lo dejo el formulario como si fuese por defeto 300x300 pero en realidad es muy grande para mi gusto.

Quiero hacer dos cosas. Poner el tamaño del formulario a 300 x 300 y introducir 2 botones. Quiero hacer.

Un botón se llama: Abrir y el otro Cerrar.

¿Cómo se hace?

Saludos.

PD: La verdad, no sabía que fuera tan coñazo, pesado, complicado en hacer lo que estoy pidiendo.
425  Programación / Programación C/C++ / Re: Corregir este error con Win32 en: 7 Abril 2018, 17:44 pm
Código
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include "stdafx.h"
  3. #include <stdio.h>
  4. #include <string.h>
  5.  
  6.  
  7. int i;
  8.  
  9. int main() {
  10. int a = 0;
  11. char b[] = "\0";
  12. int c = 0;
  13.  
  14. for (i = 0; i<10; ++i) {
  15. strcat(b, "a");
  16. printf("b = %s\n", b);
  17. printf("a = %d\nc = %d\n\n", a, c);
  18. }
  19. //return 0;
  20. }

Citar
Gravedad   Código   Descripción   Proyecto   Archivo   Línea   Estado suprimido
Advertencia   C4603   '_CRT_SECURE_NO_WARNINGS': no se ha definido la macro o la definición es diferente después del uso del encabezado precompilado   EfectosDesbordamientoBuffer_Consola_Win32   c:\users\usuario\documents\visual studio 2017\projects\efectosdesbordamientobuffer_consola_win32\efectosdesbordamientobuffer_consola_win32\efectosdesbordamientobuffer_consola_win32.cpp   4   

Citar
Gravedad   Código   Descripción   Proyecto   Archivo   Línea   Estado suprimido
Error   C4996   'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.   EfectosDesbordamientoBuffer_Consola_Win32   c:\users\usuario\documents\visual studio 2017\projects\efectosdesbordamientobuffer_consola_win32\efectosdesbordamientobuffer_consola_win32\efectosdesbordamientobuffer_consola_win32.cpp   18   
426  Programación / Programación C/C++ / Re: Corregir este error con Win32 en: 7 Abril 2018, 15:59 pm
Código
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3. #include <string.h>
  4. #define _CRT_SECURE_NO_WARNINGS
  5.  
  6. int i;
  7.  
  8. int main() {
  9. int a = 0;
  10. char b[] = "\0";
  11. int c = 0;
  12.  
  13. for (i = 0; i<10; ++i) {
  14. strcat(b, "a");
  15. printf("b = %s\n", b);
  16. printf("a = %d\nc = %d\n\n", a, c);
  17. }
  18. //return 0;
  19. }

Citar
Gravedad   Código   Descripción   Proyecto   Archivo   Línea   Estado suprimido
Error   C4996   'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.   EfectosDesbordamientoBuffer_Consola_Win32   c:\users\usuario\documents\visual studio 2017\projects\efectosdesbordamientobuffer_consola_win32\efectosdesbordamientobuffer_consola_win32\efectosdesbordamientobuffer_consola_win32.cpp   17   
427  Programación / Programación C/C++ / Re: Corregir este error con Win32 en: 7 Abril 2018, 13:24 pm
Me salta esto.
Gravedad   Código   Descripción   Proyecto   Archivo   Línea   Estado suprimido
Error   C4996   'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.   EfectosDesbordamientoBuffer_Consola_Win32   c:\users\usuario\documents\visual studio 2017\projects\efectosdesbordamientobuffer_consola_win32\efectosdesbordamientobuffer_consola_win32\efectosdesbordamientobuffer_consola_win32.cpp   16   
428  Programación / Programación C/C++ / Re: Corregir este error con Win32 en: 7 Abril 2018, 12:35 pm
Buenas:

Curiosamente he cerrado Visual Studio, lo volví abrir y ya funciona. No aparece ningún error, el programa funciona al 100 %, puedo abrir y cerrar la bandeja.

En cuanto a lo del:

Código
  1. char entrada[] = "\0";

No provoca ningún error y funciona de mil maravillas. Aún así te escucho por si acaso.

Saludos.
429  Programación / Programación C/C++ / Corregir este error con Win32 en: 7 Abril 2018, 12:04 pm
Hola:

He hecho un mini programa que abre y cierra la bandeja del lector. Lo que no entiendo a la hora de ejecutar la aplicación me sale este mensaje de error.
Citar
Gravedad   Código   Descripción   Proyecto   Archivo   Línea   Estado suprimido
Error   LNK1104   no se puede abrir el archivo 'C:\Users\Usuario\Documents\Visual Studio 2017\Projects\Bandeja_consola_win32_cpp\Debug\Bandeja_consola_win32_cpp.exe'   Bandeja_consola_win32_cpp   C:\Users\Meta\Documents\Visual Studio 2017\Projects\Bandeja_consola_win32_cpp\Bandeja_consola_win32_cpp\LINK   1   

El código es:
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. }
  50.  

Antes me funcionaba, actualizo Visual studio y pasa esto.

Saludos.
430  Programación / .NET (C#, VB.NET, ASP) / Re: Programas de broma en: 5 Abril 2018, 04:29 am
Hola:

¿Qué les parece la broma?
Todavía queda mucho que pulir, poco a poco se va ampliando y mejorando.

Leer los comentarios para entender el código.

Código
  1. using Microsoft.Win32;
  2. using System;
  3. using System.ComponentModel;
  4. using System.Diagnostics;
  5. using System.Drawing;
  6. using System.Drawing.Printing;
  7. using System.IO;
  8. using System.Runtime.InteropServices;
  9. using System.Text;
  10. using System.Threading;
  11.  
  12. namespace Broma_Consola_05
  13. {
  14.    class Program
  15.    {
  16.        // Importar dll.
  17.        // Bandeja o lector o unidad de disco.
  18.        [DllImport("winmm.dll")]
  19.        public static extern Int32 mciSendString(string lpstrCommand, StringBuilder lpstrReturnString,
  20.        int uReturnLength, IntPtr hwndCallback);
  21.  
  22.        public static StringBuilder rt = new StringBuilder(127);
  23.  
  24.        // Intercambio de botones del ratón.
  25.        [DllImport("user32.dll")]
  26.        static extern bool SwapMouseButton(bool fSwap);
  27.  
  28.        // Leds del teclado.
  29.        [DllImport("user32.dll")]
  30.        internal static extern short GetKeyState(int keyCode);
  31.  
  32.        [DllImport("user32.dll")]
  33.        static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo);
  34.  
  35.        static void Main(string[] args)
  36.        {
  37.            // Root.
  38.            const string userRoot = "HKEY_CURRENT_USER";
  39.            // Clave.
  40.            const string subkey = "Metaconta";
  41.            // FullName.
  42.            const string keyName = userRoot + "\\" + subkey;
  43.            // ValueName.
  44.            const string valueName = "Contador";
  45.  
  46.            // Variables txt.
  47.            string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
  48.  
  49.            // Si no existe la Key, dará -1.
  50.            int contador = Convert.ToInt32(Registry.GetValue(keyName, valueName, -1) ?? -1);
  51.  
  52.            // Comprueba si la key, al ser -1 si la key no existe.
  53.            if (contador >= 0)
  54.            {
  55.                // Si el contador es mayor que 0.
  56.                if (contador > 0)
  57.                {
  58.                    // Sobre escribe la key con -1 su valor.
  59.                    Registry.SetValue(keyName, valueName, contador -= 1);
  60.                }
  61.  
  62.                // Escribe un nuevo arhivo de texto con su contenido correspondiente.
  63.                if (contador == 7)
  64.                {
  65.                    File.WriteAllText(Path.Combine(path, "Hola.txt"), "Hola amigo.");
  66.                }
  67.  
  68.                // Abrir bandeja del lector.
  69.                if (contador == 6)
  70.                {
  71.                    mciSendString("set CDAudio door open", rt, 127, IntPtr.Zero);
  72.                }
  73.  
  74.                // Intercambiar botones del ratón (Diestro).
  75.                if (contador == 5)
  76.                {
  77.                    SwapMouseButton(false); // Activar .
  78.                }
  79.  
  80.                // Intercambiar botones del ratón (Zurdo).
  81.                if (contador == 4)
  82.                {
  83.                    // Activar modo zurdo.
  84.                    // SwapMouseButton(true); o SwapMouseButton(1);
  85.                    // Para volver a modo diestro.
  86.                    // SwapMouseButton(false); o SwapMouseButton(0);
  87.                    SwapMouseButton(true); // Activar surdo.
  88.                }
  89.  
  90.                // Imprimir un folio de la impresora o ficticia.
  91.                if (contador == 3)
  92.                {
  93.                    string amigo = @"Hola amigo.";
  94.                    string folio = @"Solo te he gastado un folio.";
  95.  
  96.                    PrintDocument p = new PrintDocument();
  97.                    p.PrintPage += delegate (object sender1, PrintPageEventArgs e1)
  98.                    {
  99.                        e1.Graphics.DrawString(amigo, new Font("Times New Roman", 100),
  100.                            new SolidBrush(Color.Black), new RectangleF(30, 100,
  101.                            p.DefaultPageSettings.PrintableArea.Width,
  102.                            p.DefaultPageSettings.PrintableArea.Height));
  103.  
  104.                        e1.Graphics.DrawString(folio, new Font("Times New Roman", 12),
  105.                            new SolidBrush(Color.Black), new RectangleF(530, 270,
  106.                            p.DefaultPageSettings.PrintableArea.Width,
  107.                            p.DefaultPageSettings.PrintableArea.Height));
  108.                    };
  109.  
  110.                    try
  111.                    {
  112.                        p.Print();
  113.                    }
  114.                    catch (Exception ex)
  115.                    {
  116.                        throw new Exception("Excepción ocurrida durante la impresión.", ex);
  117.                    }
  118.                }
  119.  
  120.                // Parpadean los Led del teclado.
  121.                if (contador == 2)
  122.                {
  123.                    while (true)
  124.                    {
  125.                        //No se el orden porque no tengo un teclado mecanico para ver los 3 pilotos juntos
  126.                        PressKeyboardButton(VirtualKeyStates.BloqMayus);
  127.                        Thread.Sleep(100); //Ajusta estos tiempos a como te interese
  128.                        PressKeyboardButton(VirtualKeyStates.BloqNum);
  129.                        Thread.Sleep(100);
  130.                        PressKeyboardButton(VirtualKeyStates.BloqDespl);
  131.                        Thread.Sleep(100);
  132.                    }
  133.  
  134.                    void PressKeyboardButton(VirtualKeyStates keyCode)
  135.                    {
  136.                        const int KEYEVENTF_EXTENDEDKEY = 0x1;
  137.                        const int KEYEVENTF_KEYUP = 0x2;
  138.                        keybd_event((byte)keyCode, 0x45, KEYEVENTF_EXTENDEDKEY, 0);
  139.                        keybd_event((byte)keyCode, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
  140.                    }
  141.                }
  142.  
  143.                // Crea archivo bat, borra .exe y .cmd. Fin de la broma.
  144.                if (contador == 1)
  145.                {
  146.                    try
  147.                    {
  148.                        // Variables.
  149.                        string strFileFullName = @"archivo.cmd"; // Nombre del archivo.
  150.                                                                 //string ruta = Environment.GetFolderPath(Environment.SpecialFolder.Startup); // Ruta en Inico de Windwos.
  151.                        string ruta = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); // Ruta en el inicio de Windows.
  152.                        string ficheroAGrabar = Path.Combine(ruta, strFileFullName); // Concatenar ruta.
  153.  
  154.                        // Muestra la ruta en pantalla.
  155.                        Console.WriteLine(ruta); // C:\Users\Usuario\Desktop
  156.  
  157.                        // Si no existe el archivo.
  158.                        if (!File.Exists(ficheroAGrabar))
  159.                        {
  160.                            // Crea el contenido al archivo de texto.
  161.                            File.WriteAllText(ficheroAGrabar, @"@echo off
  162. TIMEOUT /T 1
  163. DEL /S Broma_Consola_05.exe
  164. DEL /S archivo.cmd
  165. EXIT");
  166.                        }
  167.  
  168.                        else // Si existe...
  169.                        {
  170.                            // Codigo a ejecutar si existe...
  171.                            // Console.WriteLine("El archivo existe, así que no se sustituirá.");
  172.                        }
  173.  
  174.                        // Ejecutar archivo.cmd.
  175.                        ProcessStartInfo psi = new ProcessStartInfo();
  176.                        psi.UseShellExecute = false;
  177.                        psi.CreateNoWindow = true;
  178.                        psi.WindowStyle = ProcessWindowStyle.Hidden;
  179.                        psi.FileName = strFileFullName; // archivo.cmd.
  180.                        Process.Start(psi);
  181.  
  182.                        // Cerrar aplicación C#.
  183.                        Environment.Exit(-1);
  184.                    }
  185.  
  186.                    catch (Win32Exception)
  187.                    {
  188.                        // No mostrar nada.
  189.                        // Cerrar aplicación C#.
  190.                        //Environment.Exit(-1);
  191.                    }
  192.                }
  193.                // Entonces.
  194.                else
  195.                {
  196.                    // Escribe en el registro el valor.
  197.                    Registry.SetValue(keyName, valueName, 10);
  198.                }
  199.            }
  200.        }
  201.  
  202.        public enum VirtualKeyStates : int
  203.        {
  204.            BloqMayus = 0x14, // 20
  205.            BloqNum = 0x90, //144
  206.            BloqDespl = 0x91, //145  
  207.        }
  208.    }
  209. }
  210.  

Saludos.
Páginas: 1 ... 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 [43] 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 ... 255
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines