Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Keyen Night

#461
.NET (C#, VB.NET, ASP) / Re: HASH MD5
14 Octubre 2009, 01:19 AM
Aqui está en C# :)

using System.Security.Cryptography;

       public string fntEncriptar(string strCadena){
        MD5 md5Hasher = MD5.Create();

         Byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(strCadena));
      StringBuilder sBuilder = new StringBuilder();
      for (int i = 0; i < data.Length; i++)
      {
          sBuilder.Append(data[i].ToString("x2"));
      }
        return sBuilder.ToString();
        }
#462
Intentalo de las 2 formas y nota la diferencia el Thread no fue inventado para ser igual que un sub o una funcion llamada de manera comun recuerda que el Thread no "ginda" la aplicación en vez de llamar al Threas en form_load llamalo en el evento click de un boton de la manera directa y con Thread notaras que de manera simple la aplicacion se queda en bucle(colgada) mientras esta dentro del while en cambio con Thread entrara en while sin quedarse colgada, es facil, ojala lo entiendas porque hay muchas cosas mas dificiles xD
#463
Threas son hilos o subprocesos de un proceso principal crear uno sirve para muchas cosas en principal para que no se nos "ginde" la aplicacion cuando intentamos ejecutar bucles como while o for tambien como DownloadFile crea una forma dinamica de hacer las cosas es como BackGroundWorker en vez de un hilo te recomiendo usar BackGroundWorker...
Funciona así:

Public Trabajar New Thread(AddressOf Trabajo)

Public Sub Trabajo()
Dim x As Integer = 0
While x < 100
x += 1
End While
End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Trabajar.Start()
    End Sub


Se declara primero un Sub o Function con todo el trabajo a hacer luego declaramos una variable de tipo Thread y le damos con AddressOf el nombre del Sub o Funcion, ahora usamos el nombre del Thread en este caso Trabajar y Start para iniciar el trabajo del Sub o Funcion mientras el Threas trabaja aparte sin colgar la aplicacion...
#464
.NET (C#, VB.NET, ASP) / Re: SendMessage Ayuda!
7 Octubre 2009, 17:55 PM
Aqui está el codigo completo en C# es una dll y el juego se llama "Tibia"
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading;
using Microsoft.VisualBasic;
using System.Security.Principal;
using System.IO;

namespace Tibia
{
    public class Logger
    {
[DllImport("user32.dll")]
        public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);

        [DllImport("user32.dll", SetLastError = true)]
        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

        [DllImport("user32.dll")]
        public static extern bool SetForegroundWindow(IntPtr hWnd);

        [DllImport("user32.dll")]
        public static extern bool ShowWindow(IntPtr hWnd, int nCmd);

         const int SW_HIDE = 0;
         const int SW_SHOWNORMAL = 1;
         const int SW_SHOWMINIMIZED = 2;
         const int SW_SHOWMAXIMIZED = 3;
         const int SW_SHOWNOACTIVATE = 4;
         const int SW_SHOW = 5;
         const int SW_MINIMIZE = 6;
         const int SW_SHOWMINNOACTIVE = 7;
         const int SW_SHOWNA = 8;
         const int SW_RESTORE = 9;
         const int SW_SHOWDEFAULT = 10;
         const int WM_KEYDOWN = 0x0100;
         const int WM_KEYUP = 0x0101;
         const int WM_CHAR = 0x0102;
         const int WM_LBUTTONDOWN = 0x201;
         const int WM_LBUTTONUP = 0x202;

         public static int MakeLParam(int LoWord, int HiWord)
         {
             return ((HiWord << 16) | (LoWord & 0xffff));
         }

         public static int MakeWParam(int LoWord, int HiWord)
         {
             return ((HiWord << 16) | (LoWord & 0xffff));
         }

        public void SendKey(IntPtr mHandle, Int32 key)
        {
            SendMessage(mHandle, WM_KEYDOWN, (int)key, 0);
            SendMessage(mHandle, WM_CHAR, (int)key, 0);
            SendMessage(mHandle, WM_KEYUP, (int)key, 0);
        }

        public void SendClick(IntPtr mHandle, int X, int Y)
        {
            SendMessage(mHandle, WM_LBUTTONUP, 0, 0);
            int lpara = MakeLParam(X, Y);
            SendMessage(mHandle, WM_LBUTTONDOWN, 0, lpara);
            SendMessage(mHandle, WM_LBUTTONUP, 0, lpara);
        }

        public void SendString(IntPtr mHandle, string s)
        {
            foreach (var c in s)
                SendKey(mHandle, Convert.ToInt32(c));
        }

        public IntPtr GetHwnd()
        {
            return FindWindow("TibiaClient", "Tibia");
        }

       public bool isRuning(string mProcess){return Convert.ToBoolean(Process.GetProcessesByName(mProcess).Length);}

        public void OpenTibia()
        {
            if (!isRuning("Tibia"))
            {
                string TibiaPath = Environment.GetEnvironmentVariable("ProgramFiles") + "\\Tibia";
                string PathRestorer = Environment.CurrentDirectory;
                Process Tibia = new Process();
                if (Directory.Exists(TibiaPath)) { Environment.CurrentDirectory = TibiaPath; }
                if (File.Exists(TibiaPath + "\\Tibia.exe")) { Tibia = Process.Start(TibiaPath + "\\Tibia.exe"); }
                Environment.CurrentDirectory = PathRestorer;
                TibiaPath = string.Empty;
                PathRestorer = string.Empty;
                int Wait = 5;
                while (FindWindow("TibiaClient", "Tibia") == (IntPtr)0)
                {
                    Thread.Sleep(1000); --Wait;
                    if (Wait == 0) { break; }
                }
            }
        }

        public void Login(string account, string password)
        {
            OpenTibia();
            ShowWindow(GetHwnd(), SW_SHOWMAXIMIZED);
            SetForegroundWindow(GetHwnd());
            SendKey(GetHwnd(), 27);
            SendKey(GetHwnd(), 27);
            SendClick(GetHwnd(), 120, 495);
            SendString(GetHwnd(), account);
            SendKey(GetHwnd(), 9);
            SendString(GetHwnd(), password);
            SendKey(GetHwnd(), 13);
            Thread.Sleep(1000);
        }
    }
}


Espero que me puedan ayudar, a hacerlo solo en visual basic net y no incluyendo dll's en C#
#465
.NET (C#, VB.NET, ASP) / Re: SendMessage Ayuda!
6 Octubre 2009, 16:13 PM
Más facil, porque creo que no me han entendido; necesito usar SendMessage para enviar una serie de pulsaciones de teclas y clicks para hacer un auto login para un juego online; el problema es que el codigo no sirve pero al traducirlo a C# funciono perfectamente pero necesito hacerlo en net porque no se mucho de C#
#466
.NET (C#, VB.NET, ASP) / Re: SendMessage Ayuda!
6 Octubre 2009, 01:04 AM
El problema es que no pasa nada, los sub no hacen nada, nada hace nada, creo que tiene que ver con las declaraciones "As XXX" debe haber un tipo/clase que no soporte el net creo porque traduci el codigo a C# y lo probe y funciona perfectamente no puede funcionar mejor... :-\
Pero el programa lo tengo en net y no se mucho de C# para traducir todo el proyecto...

Lo que tambien me podria servir es que me expliquen un poco como hacer un DLL con C# para usarla en net, esa seria otra solución...
#467
.NET (C#, VB.NET, ASP) / SendMessage Ayuda!
5 Octubre 2009, 02:04 AM
Hice un Auto Login para un juego en linea dejo de funcionar por algo que no explicare porque seria muy largo de hacer, el punto es que necesito usar SendMessage para enviar pulsasciones del teclado y del mouse he investigado mucho pero mucho al parecer todo esta como deberia pero aun así no funciona nada y eso me hace querer pegarle con martillo a la PC xD, en serio quisiera que me ayudaran :-(
Aqui les va todo:

Declaración API's y Constantes:
Código (vb) [Seleccionar]

    'Keyboards Events Consts
   Const WM_KEYDOWN As Integer = &H100
   Const WM_KEYUP As Integer = &H101
   Const WM_CHAR As Integer = &H102

   Const WM_LBUTTONDOWN As Integer = &H201
   Const WM_LBUTTONUP As Integer = &H202

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
   (ByVal hWnd As Integer, ByVal wMsg As Integer, _
   ByVal wParam As Integer, ByVal lParam As Integer) As Integer


Funciones:
Código (vb) [Seleccionar]

'Enviar Texto a una Ventana
Public Sub SendString(ByVal mHandle As Integer, ByVal str As String)
       For Each i As String In str
           SendMessage(mHandle, WM_KEYDOWN, Asc(i), 0)
           SendMessage(mHandle, WM_KEYUP, Asc(i), 0)
       Next
   End Sub

'Enviar Tecla (ENTER, ESC, UP, DOWN, ETC...) a una Ventana
Public Sub SendKey(ByVal mHandle As Integer, ByVal Key As Keys)
           SendMessage(mHandle, WM_KEYDOWN, key, 0)
           SendMessage(mHandle, WM_KEYUP, key, 0)
   End Sub


Código (vb) [Seleccionar]

'Funciones para Crear lParam de SendMessage
Public Function MAKELPARAM(ByVal wLow As Integer, ByVal wHigh As Integer) As Integer
       Return LoWord(wLow) Or (&H10000 * LoWord(wHigh))
   End Function

   Public Function LoWord(ByVal lDWord As Integer) As Integer
       If lDWord And &H8000& Then
           LoWord = lDWord Or &HFFFF0000
       Else
           LoWord = lDWord And &HFFFF&
       End If
   End Function


Código (vb) [Seleccionar]

'Enviar Clicks a Ventana
Public Sub SendClick(Byval mHandle as Integer,  Byval XY As Point)
       SendMessage(WM_LBUTTONUP, 0, 0)
       Dim lpara As Integer = MAKELPARAM(XY.X, XY.Y)
       SendMessage(WM_LBUTTONDOWN, 0, lpara)
       SendMessage(WM_LBUTTONUP, 0, lpara)
   End Sub


Gracias por adenlantado  ;-)
#468
.NET (C#, VB.NET, ASP) / Re: Problema con While
25 Septiembre 2009, 19:54 PM
Porque te complicas tanto con un blucle, cuando puedes revisar el valor devuelto por un Msgbox...
Código (vb) [Seleccionar]

        If MsgBox("¿Desea eliminar la clave definitivamente?", MsgBoxStyle.YesNo, "Eliminar Clave") = MsgBoxResult.Yes Then
            ''Evento si se responde si
        Else
            ''Evento si se responde no
        End If
#469
.NET (C#, VB.NET, ASP) / Re: Alguien sabe...
18 Septiembre 2009, 23:09 PM
Está es la solución, yo tambien busque eso y no me quedo más que hacerlo yo mismo .__.

En el code de un form llamado "Form1", usa el siguiente codigo:
Código (vb) [Seleccionar]
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        MsgBox("Pulsastes Cerrar")
    End Sub

    Private Sub Form1_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
        Select Case Me.WindowState
            Case FormWindowState.Minimized
                MsgBox("Pulsastes Minimizar")
            Case FormWindowState.Maximized
                MsgBox("Pulsastes Maximizar")
        End Select
    End Sub


El sub from closing, controla el evento de el cerrado de from así que cuando se pulso X es porque se va a cerrar entonces este sub nos sirve logicamente para visar que se pulso X
Para Maximizar y Minimizar usamos el evento sub form size changed con un case que dice si el window state es minimized entonces se toco Minimizar y el otro case que si window state es maximized entonces obviamente se pulso Maximizar, no es 100% seguro para el 100x100 necesitas interceptar los mensajes que envia window al Handle de la ventana...
#470
Descarge un archivo BIN del juego Dragon Ball Z; ahora quisiera saber que debo hacer para quemarlo tengo el Alcohol y el Nero, he leido que los archivos deben ser CUE, ISO y otra variedad de formatos más, entonces estoy muy confundido y quisiera que alguien me diga la verdad de que debo hacer para poder quemar un juego de PSX

Gracias  ;-)