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


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 ... 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [50] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ... 261
491  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.
492  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.
493  Programación / .NET (C#, VB.NET, ASP) / Quitar rastros en: 3 Abril 2018, 22:40 pm
Hola:

Hice una aplicación de C# que se ejecuta en el inico de Windows. Como no se puede borrar así mismo el propio ejecutable, crea un archivo bat o cmd a su lado, luego borra los dos archivos. Precisamente hace esto:

1. Ejecutar C#.
2. C# crea un archivo bat o cmd.
3. C# ejecuta el bat.
4. Bat tiene tiempo de retardo de 1 segundo.
5. C# después de crear el archivo bat, se cierra así mismo o se acaba el programa.
6. Después de pasar 1 segundo, borra el .exe y el bat .cmd así mismo.
7. No hay ningún rastro de archivos.

Si lo hay en el editor de registtro el ejecutable, lo he encontrado en estas direcciones y en la misma lo puede nombrar dos veces.
Citar
Equipo\HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\MuiCache

Equipo\HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache

Equipo\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store

Equipo\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\bam\UserSettings\S-1-5-21-1318602974-3718958170-1399798190-1001

Equipo\HKEY_USERS\S-1-5-21-1318602974-3718958170-1399798190-1001\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache

Equipo\HKEY_USERS\S-1-5-21-1318602974-3718958170-1399798190-1001\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store

Equipo\HKEY_USERS\S-1-5-21-1318602974-3718958170-1399798190-1001_Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache

Por ejemplo, en esta ruta:
Equipo\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store

Se encuentra el ejecutable llamado:
C:\Users\Usuario\Desktop\Bat_desde_CS_Consola_02.exe

La ruta completa hay que borrarlo.

Eso si, debo crear un programa que permita localizar dentro del editor de registro el nombre del ejecutable y borrarlo.

¿Alguna idea como se hace?

Si les pica la curiosidad, el programa básico de lo que hace es este.
Código
  1. using System;
  2. using System.ComponentModel;
  3. using System.Diagnostics;
  4. using System.IO;
  5.  
  6. namespace Bat_desde_CS_Consola_02
  7. {
  8.    class Program
  9.    {
  10.        static void Main(string[] args)
  11.        {
  12.            try
  13.            {
  14.                // Variables.
  15.                string strFileFullName = @"archivo.cmd"; // Nombre del archivo.
  16.                string ruta = Environment.GetFolderPath(Environment.SpecialFolder.Startup); // Ruta en Inico de Windwos.
  17.                //string ruta = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); // Ruta en el escritorio.
  18.                string ficheroAGrabar = Path.Combine(ruta, strFileFullName); // Concatenar ruta.
  19.  
  20.                // Muestra la ruta en pantalla.
  21.                Console.WriteLine(ruta); // C:\Users\Usuario\Desktop
  22.  
  23.                // Si no existe el archivo.
  24.                if (!File.Exists(ficheroAGrabar))
  25.                {
  26.                    // Crea el contenido al archivo de texto.
  27.                    File.WriteAllText(ficheroAGrabar, @"@echo off
  28. TIMEOUT /T 1
  29. DEL /S Bat_desde_CS_Consola_02.exe
  30. DEL /S archivo.cmd
  31. EXIT");
  32.                }
  33.  
  34.                else // Si existe...
  35.                {
  36.                    // Codigo a ejecutar si existe...
  37.                    Console.WriteLine("El archivo existe, así que no se sustituirá.");
  38.                }
  39.  
  40.                // Ejecutar archivo.cmd.
  41.                ProcessStartInfo psi = new ProcessStartInfo();
  42.                psi.UseShellExecute = false;
  43.                psi.CreateNoWindow = true;
  44.                psi.WindowStyle = ProcessWindowStyle.Hidden;
  45.                psi.FileName = strFileFullName; // archivo.cmd.
  46.                Process.Start(psi);
  47.  
  48.                // Cerrar aplicación C#.
  49.                Environment.Exit(-1);
  50.            }
  51.  
  52.            catch (Win32Exception)
  53.            {
  54.                // No mostrar nada.
  55.                // Cerrar aplicación C#.
  56.                Environment.Exit(-1);
  57.            }
  58.        }
  59.    }
  60. }

No olvidar, en las propiedades, para que no muestre la ventana en ningún momento. Hasta el cmd también debe estar oculta, y lo logra con C#.

Otra pregunta.
A parte de todo esto. ¿Hay algún sitio, sea archivo en las profundidades de Windwos que dejen rastros?

Saludos.
494  Programación / .NET (C#, VB.NET, ASP) / Re: [SOURCE-CODE] FHM Crawler - freehardmusic.com en: 2 Abril 2018, 22:12 pm
Buen trabajo. ;)
495  Programación / Programación General / Re: Programacion play2 en: 1 Abril 2018, 22:30 pm
Buenas:

No sabía a estas alturas el YaBasic para la PSP. En fin, ¿de PS3 y PS4 nada de nada?
Con la 360 y la One está con el Visual Studio incluido. Al menos viene, pero Sony se la repamplimfla.

 Ya que encontré la demo de PS2 con el YaBasic, la verdad que martirio usarlo con el mando. Si ha alguien se le da bien programando así, quiero lograr hacer un mini menú con YaBasic, muy básico como se puede hacer con C#. Dejo un ejemplo por si algún avispado sabe adaptar el C# a YaBasic, aunque parezca mentira, todavía se actuaiza YaBasic y con Windows 10.

YaBasic:
http://www.yabasic.de/

Código C#:
Código
  1. using System;
  2.  
  3. namespace Menu_y_opciones_consola
  4. {
  5.    class Program
  6.    {
  7.        static void Main(string[] args)
  8.        {
  9.            // Título de la ventana.
  10.            Console.Title = "Menú y opciones C# 2017";
  11.  
  12.            // Tamaño ventana consola.
  13.            Console.WindowWidth = 30; // X. Ancho.
  14.            Console.WindowHeight = 10; // Y. Alto.
  15.  
  16.            // Cursor invisible.
  17.            Console.CursorVisible = false;
  18.  
  19.            // Posición del mansaje en la ventana.
  20.            Console.SetCursorPosition(0, 0);
  21.            Console.Write(@"Elija una opción:
  22.  
  23.        1- Opción A.
  24.        2- Opción B.
  25.        3- Opción C.
  26.        Escape- Salir.
  27. ===========================");
  28.  
  29.            ConsoleKey key;
  30.  
  31.            do
  32.            {
  33.                // Cursor invisible
  34.                Console.CursorVisible = false;
  35.  
  36.                // Lee cualquier tecla.
  37.                key = Console.ReadKey(true).Key;
  38.  
  39.                // Variable de mensaje vacío.
  40.                string mensaje = string.Empty;
  41.  
  42.                // Leer tecla selecconada por el usuario.
  43.                switch (key)
  44.                {
  45.                    case ConsoleKey.D1: // Tecla principal 1.
  46.                    case ConsoleKey.NumPad1: // Tecla extendida 1.
  47.                        Console.SetCursorPosition(0, 8);
  48.                        mensaje = "OPCIÓN A."; // Mostrar mensaje en pantalla.
  49.                        break;
  50.  
  51.                    case ConsoleKey.D2:
  52.                    case ConsoleKey.NumPad2:
  53.                        mensaje = "OPCIÓN B.";
  54.                        break;
  55.                    case ConsoleKey.D3:
  56.                    case ConsoleKey.NumPad3:
  57.                        mensaje = "OPCIÓN C.";
  58.                        break;
  59.                }
  60.  
  61.                // Posición de los mensajes.
  62.                Console.SetCursorPosition(0, 8);
  63.                Console.Write("             "); // 13 espacios.
  64.                Console.SetCursorPosition(0, 8);
  65.                Console.Write(mensaje);
  66.  
  67.            }
  68.  
  69.            // Salir de la plicación al pulsar la tecla Escape o número 4.
  70.            while (key != ConsoleKey.Escape);
  71.        }
  72.    }
  73. }

Saludos amigos.

PD: Perdón por el gran reflote del año.
496  Programación / .NET (C#, VB.NET, ASP) / Re: Cifrar variables o textos de forma sencilla. en: 1 Abril 2018, 20:22 pm
Buenas compañero:

Pedazo de explicación con ejemplso incluido.  ;-) Digno de ser admirado.

Voy a intentar pasarlo a C# lo que haz contado, un ejemplo sencillo para que nos entendamos y se entienda.

Buen trabajo.
497  Programación / .NET (C#, VB.NET, ASP) / Re: Cifrar variables o textos de forma sencilla. en: 1 Abril 2018, 04:36 am
Buenas:

Lo he probado. Funciona de maravilla.  ;-)

Tarda mucho en darle F11 todo el rato, pero se entiende. ;)

Lo que quería hacer era más sencillo, menos protección pero sencillo.

Programa A, el original, programa B el que hace el XOR ^10. Los dos hacen XOR ^10.

El tipo de varibale como ejemplo es el Byte[].
Código
  1.    byte[] rawData = {
  2.        0xF5, 0xD2, 0xF5, 0xEA, 0x0A, 0x1A, 0x40, 0x4C, 0x43, 0x4C, 0x0A, 0x0B,
  3.        0x0B, 0x0B, 0x0A, 0x42, 0x0A, 0x42, 0x0A, 0x0A, 0xF5, 0xD1, 0x0A, 0x49}

Usamos el XOR ^10.
Código
  1. for (int i = 0; i < rawData.Length; i++)
  2.    {
  3.        rawData[i] = (byte)(rawData[i] ^ 10);
  4.    }

El problema que tengo ahora, es que no uso Byte[], sino string. Por eso estoy para arriba y para abajo.

En vez de usar como ejemplo de arriba que puse Byte[], pongo un string en cristiano. No en códigos hexadecimales.

¿Hay alguna solución sobre lo que busco?

Salu2. ;)
498  Programación / .NET (C#, VB.NET, ASP) / Re: Cifrar variables o textos de forma sencilla. en: 30 Marzo 2018, 12:01 pm
Buenas campeón:

Deja ver si capto lo que cuentas. Con el XOR ^10 me vale y solo quiero eso. Me da que usas la idea del Windows form y mi idea es en modo consola.

Saludos.
499  Programación / .NET (C#, VB.NET, ASP) / Re: Cifrar variables o textos de forma sencilla. en: 29 Marzo 2018, 16:10 pm
Gracias.

No quería tanto código, con una mini protección ya me vale.

Si tengo un array, hago este código y me basta.

Código
  1.    for (int i = 0; i < var1.Length; i++)
  2.    {
  3.        var1[i] = (byte)(var1[i] ^ 10);
  4.    }

Solo tengo este string que dice:

Código
  1. string var1 = "Esto es una prueba.";
  2. Console.WriteLine = var1;
  3.  

Cuando usas el for arriba otra vez que es un XOR ^10, con usar el mismo, vuelve los valores como estaba.

Ahora la variable var1 en su interior lo transforma en "mjcgpow5yp4g0,xy43ph". Si vuelvo aplicar el for pero con la variable var1 igual a mjcgpow5yp4g0,xy43ph, al final dice "Esto es una prueba.".

El for de arriba mira un array, pero en este caso es un string, en el cual no se que hacer para que funcione en un string. Ahí está mi problema.

Saludos.
500  Seguridad Informática / Hacking / Re: Hackear una impresora en: 29 Marzo 2018, 12:44 pm
Buenas:

Me dio por venir aquí otra vez. He gastado bromas a un amigo con su impresora. Desde que ejecute este .exe, imprime un mensaje en su impresora. Es muy sencillo para que se entienda.Se los dejo aquí por si lo necesitan. El código del post anterior es más complicado.

Código C#:
Código
  1. using System;
  2. using System.Drawing; // No olvidar y añadir referencia.
  3. using System.Drawing.Printing;
  4.  
  5. namespace Impresora_Consola_01
  6. {
  7.    class Program
  8.    {
  9.        static void Main(string[] args)
  10.        {
  11.            string s = "Hola amigo. Solo t he gastado un folio.";
  12.  
  13.            PrintDocument p = new PrintDocument();
  14.            p.PrintPage += delegate (object sender1, PrintPageEventArgs e1)
  15.            {
  16.                e1.Graphics.DrawString(s, new Font("Times New Roman", 12),
  17.                    new SolidBrush(Color.Black), new RectangleF(0, 0, p.DefaultPageSettings.PrintableArea.Width,
  18.                    p.DefaultPageSettings.PrintableArea.Height));
  19.            };
  20.  
  21.            try
  22.            {
  23.                p.Print();
  24.            }
  25.            catch (Exception ex)
  26.            {
  27.                // throw new Exception("Exception Occured While Printing", ex);
  28.            }
  29.        }
  30.    }
  31. }

Si se pude modificar a mejor, lo comparten.

Saludos.
Páginas: 1 ... 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [50] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ... 261
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines