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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 32
41  Programación / .NET (C#, VB.NET, ASP) / Re: buenas tardes vengo para que aprender un poco sobre el visual basic 10 en: 28 Julio 2016, 19:01 pm
hola

La verdad, este problema me suena que se preguntó antes, la imagen esa del cuadrado ese me suena de haberla visto antes.

De todos modos a ver si te sirve esto.





Instrucciones:
- Crea un Nuevo Proyecto
- Selecciona Aplicación de Windows Forms
- Deja todo en blanco y  copia y pega el siguiente código:

Código
  1. '//Programado por Lekim//
  2. Option Strict Off
  3.  
  4. Imports System.Drawing.Graphics
  5. Imports System.IO
  6.  
  7.  
  8. Public Class Form1
  9.    Dim picCuadrado As New PictureBox
  10.    Dim hScrollGrados As New HScrollBar
  11.    Dim ButtonPaste As New Button
  12.    ''' <summary>
  13.    ''' Permite mostrar el radio inicial a 0 grados al inicio de la aplicación
  14.    ''' </summary>
  15.    ''' <param name="e"></param>
  16.    ''' <remarks></remarks>
  17.    Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  18.        MyBase.OnPaint(e)
  19.  
  20.        Actualizar_Radio()
  21.    End Sub
  22.  
  23.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  24.        Me.Size = CType(New Point(430, 360), Drawing.Size)
  25.  
  26.        '//Crea un control Picture
  27.        Me.Controls.Add(picCuadrado)
  28.        With picCuadrado
  29.            picCuadrado.BorderStyle = BorderStyle.FixedSingle
  30.            picCuadrado.Size = CType(New Point(300, 300), Drawing.Size)
  31.        End With
  32.        Me.Controls.Add(ButtonPaste)
  33.        With ButtonPaste
  34.            .Text = "Pegar"
  35.            .Location = New Point(Me.picCuadrado.Width + 20, 10)
  36.            AddHandler .Click, AddressOf ButtonPaste_Click
  37.        End With
  38.  
  39.        '//Crea un control HScrollBar
  40.        Me.Controls.Add(hScrollGrados)
  41.        With hScrollGrados
  42.            .Width = 300
  43.            .Top = picCuadrado.Height '+ hScrollGrados.Height
  44.            .Minimum = 0
  45.            .Maximum = 360
  46.            .SmallChange = 1
  47.            .LargeChange = 1
  48.            'Eventos para hScrollGrados
  49.            AddHandler .Scroll, AddressOf hScroll_Scroll
  50.            AddHandler .ValueChanged, AddressOf hScroll_ValueChanged
  51.        End With
  52.  
  53.  
  54.    End Sub
  55.  
  56.    Private Sub hScroll_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs)
  57.        Actualizar_Radio()
  58.        Me.Refresh()
  59.    End Sub
  60.  
  61.    Private Sub hScroll_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  62.        Actualizar_Radio()
  63.        Me.Refresh()
  64.    End Sub
  65.  
  66.    Sub Actualizar_Radio()
  67.        picCuadrado.Refresh()
  68.        '//Dibuja el radio
  69.        DIBUJAR_RADIO(picCuadrado, hScrollGrados.Value, System.Drawing.Color.Blue, 5)
  70.        '//Muestra los grados
  71.  
  72.        Me.CreateGraphics.DrawString(hScrollGrados.Value & "º", New Font("Arial", 30, _
  73.                                                                                  FontStyle.Bold, _
  74.                                                                                  GraphicsUnit.Point, 2) _
  75.  , Brushes.Blue, picCuadrado.Width + 15, 250)
  76.  
  77.    End Sub
  78.    Private Sub ButtonPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  79.  
  80.        '//Obtiene imagen desde internet
  81.        ' Dim Client As New System.Net.WebClient()
  82.        ' Client = New System.Net.WebClient
  83.        ' Dim BinData As Byte() = Client.DownloadData("http://image.prntscr.com/image/c22000d107b945968d7d232228a3bcba.png") 'descarga el archivo como byte
  84.        ' Dim imgStream As New MemoryStream(BinData) 'Convierte la imagen a stream
  85.        ' Dim img As New Bitmap(Image.FromStream(imgStream))
  86.        ' Dim img2 As New Bitmap(img, picCuadrado.Width, picCuadrado.Height)
  87.        ' picCuadrado.Image = img2
  88.  
  89.        '//Obtiene desde archivo
  90.        'Dim img As New Bitmap(Image.FromFile("C:\User\Documents\c22000d107b945968d7d232228a3bcba.png"))
  91.        'Dim img2 As New Bitmap(img, picCuadrado.Width, picCuadrado.Height)
  92.        'picCuadrado.Image = img2
  93.  
  94.        '//Obtiene imagen desde el portapapeles
  95.        If Clipboard.GetImage IsNot Nothing Then
  96.            Dim img As New Bitmap(Clipboard.GetImage)
  97.            Dim img2 As New Bitmap(img, picCuadrado.Width, picCuadrado.Height)
  98.            picCuadrado.Image = img2
  99.        End If
  100.  
  101.        Actualizar_Radio()
  102.    End Sub
  103.  
  104.    ''' <summary>
  105.    ''' Función para dibujar un radio
  106.    ''' </summary>
  107.    ''' <param name="objPicture"></param>
  108.    ''' <param name="Grados"></param>
  109.    ''' <param name="mColor"></param>
  110.    ''' <param name="Grosor"></param>
  111.    ''' <returns></returns>
  112.    ''' <remarks></remarks>
  113.    Public Function DIBUJAR_RADIO(ByVal objPicture As PictureBox, _
  114.                                    ByVal Grados As Integer, _
  115.                                    ByVal mColor As Color, _
  116.                                    ByVal Grosor As Integer) As Boolean
  117.        Dim X1 As Integer
  118.        Dim Y1 As Integer
  119.        Dim X2 As Integer
  120.        Dim Y2 As Integer
  121.        Dim Angulo As Integer 'Ángulo en grados
  122.        Dim RadioLong As Integer 'Longitud del radio
  123.        'CENTRO IMAGEN
  124.        X1 = CInt(picCuadrado.Width / 2)
  125.        Y1 = CInt(picCuadrado.Height / 2)
  126.  
  127.        'ÁNGULO
  128.        Angulo = Grados
  129.        RadioLong = picCuadrado.Width
  130.  
  131.        'COORDENADA X E Y
  132.        X2 = CInt(Int((RadioLong * Math.Cos((360 - Angulo) * (Math.PI / 180))) + X1))
  133.        Y2 = CInt(Int((RadioLong * Math.Sin((360 - Angulo) * (Math.PI / 180))) + Y1))
  134.  
  135.        'DIBUJA EL RADIO
  136.        Dim Radio As Graphics = objPicture.CreateGraphics
  137.        Dim pen As New Drawing.Pen(mColor, Grosor)
  138.  
  139.        Radio.DrawLine(pen, X1, Y1, X2, Y2)
  140.        Return Nothing
  141.    End Function
  142. End Class
  143.  


Como funciona:
- Copia la imagen en el portapapeles
- Haz Clic sobre el botón Pegar
- Mueve el HscrollBar para aumentar los grados del radio, hasta que coincida con el de la imagen.

Puedes usar las flechitas del HScrollBar para hacerlo de 1 en 1.


NOTA:
En el evento ButtonPaste_Click he puesto tres opciones distintas para pegar la imagen en el PictureBox pero dos de ellas están deshabilitadas.

Lo he puesto para que lo haga desde el portapapeles pero si quieres lo puedes cambiar


Otra opción es que uses un transportador de ángulos en la pantalla XD. No se, solo se me ocurre este programilla que he hecho.

s2s
42  Sistemas Operativos / Windows / Re: Partición oculta Recovery desconfigurada en: 28 Julio 2016, 10:47 am
Hola,

Creo que redimensionastes mal. Quizá la partición de 1MB no se te creó a raíz de la partición del Recovery, sino de la C: o de la D:. Tocaste la partición del Recovery y lo jodistes xDD

¿Qué sistema operativo usas y qué marca de ordenador es?

Normalmente, suelen traer dentro de Windows un programa para crear un backup de la partición del recovery. Búscalo e intenta hacer el backup en un pendrive o algo. A partir de ahí, puedes hacer lo que quieras con esa partición, eliminarla o no será decisión tuya aunque, lo mejor de todo y antes de eliminar dicha partición de recovery, es comprobar que ese backup funciona.

Saludos ;)

Ok, gracias

Si tengo el disco de instalación, y si quiero puedo formatear y reconstruir todo, cuando ya no ande bien entonces lo haré.

Como tengo un backup guardado una vez recontruído lo restauraré y listo.

s2s
43  Sistemas Operativos / Windows / Partición oculta Recovery desconfigurada en: 23 Julio 2016, 18:39 pm
Hola

Recientemente usé un Linux Live, con el estuve navegando, incluso instalé un programa para probarlo.

Tras esto vi que se habían creado dos particiones extrañas, libres y sin letra y una carpeta protegida llamada file.0000 o algo así.  Desde fuera de windows utilizando un administrador de discos bootable, comprobé el file.000 y eran archivos de linux. Borré la carpeta.

Las particiones extrañas, un estaba junto a la partición del recovery del portátil y otra al lado de una partición normal. Redimensióné la partición del recovery para eliminar la partición extraña de 1 mb o algo así y ahora no se inicia el recovery al pulsar F11

La opción de pulsar F11 aparece al arrancar el portátil pero al darle a F11 se queda congelado y no hace nada.

Le di una letra y desde windows vi que la partición tiene todos sus archivos, le he quitado la letra y lo configurado como oculto, pero no funciona.

La tengo como Primaria.

Lo extraño es que aunque esté oculto, se ve desde el Administrador de discos de Windows y no debería.

¿Qué debo hacer? ¿Por qué no funciona?

s2s
44  Programación / Programación Visual Basic / Re: (AYUDA) Crear un ¿auto-tip? en: 23 Julio 2016, 16:30 pm
No me vas a ayudar porque no te quieres registrar?  :¬¬

XD, parece que has contestado mientras modificaba mi último post. A ver si te sirve el ejemplo.

S2s


me he liado un poco editandolo, mira otra vez
45  Programación / Programación Visual Basic / Re: (AYUDA) Crear un ¿auto-tip? en: 23 Julio 2016, 12:35 pm
Es ese precisamente jaja sisi. Cliente sin sonido. Y si, te tenes que registrar  :xD ahora voy a probar el programa que me dijiste recien..

Pues que quiere que te diga no me pienso registrar :-\
En cuanto al AutoHotKey, error mío, no sirve. Según he leído "Los scripts de AutoHotkey se pueden utilizar para iniciar programas, abrir documentos, enviar pulsaciones de teclas y enviar clics y movimientos del ratón"

He mirado por ahí tutoriales y no veo como enviar las pulsaciones, solo crear acceso rápido a tareas mediante teclado.




Pues nada prueba esto. Es un ejemplo. Para usar con la calculadora de windows y el Notepad.

Hay varias maneras de enviar mensajes a una ventana, prueba esta a ver si te sirve con ese juego.

- Crea dos botones y añade el siguiente código:

para VB6

Código
  1. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  2. (ByVal lpClassName As String, _
  3. ByVal lpWindowName As String) As Long
  4. Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
  5. (ByVal hWnd1 As Long, ByVal hWnd2 As Long, _
  6. ByVal lpsz1 As String, _
  7. ByVal lpsz2 As String) As Long
  8. Private Declare Function GetNextWindow Lib "user32" Alias "GetWindow" _
  9. (ByVal Hwnd As Long, _
  10. ByVal wFlag As Long) As Long
  11. Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
  12. (ByVal Hwnd As Long, ByVal wMsg As Long, _
  13. ByVal wParam As Long, _
  14. ByVal lParam As Long) As Long
  15.     Const VK_NUMPAD1 = &H61
  16.     Const WM_KEYUP = &H101
  17.     Const WM_KEYDOWN = &H100
  18.     Const NILL = 0&
  19.     Const WM_SYSCOMMAND = &H112
  20.     Const SC_CLOSE = &HF060
  21.     Const GW_HWNDNEXT = 2
  22.     Const GW_CHILD = 5
  23. Private Sub Form_Load()
  24. Shell ("Notepad")
  25. Shell ("Calc")
  26.  
  27. End Sub
  28.  
  29. Private Sub Command1_Click()
  30. Dim Hwnd As Long
  31. 'Windows Vista/XP
  32. Hwnd = FindWindow("SciCalc", vbNullString)
  33.  
  34. 'Windows 7
  35. 'Hwnd = FindWindow("CalcFrame", vbNullString)
  36.  
  37.     Me.Caption = Hwnd
  38.        '//Envia la pulsación de la tecla 2 (del teclado alfabético)
  39.        Call PostMessage(Hwnd, WM_KEYDOWN And WM_KEYUP , vbKey2, NILL)
  40. End Sub
  41.  
  42. Private Sub Command2_Click()
  43. Dim Hwnd As Long
  44. Dim HwndChild As Long
  45. Hwnd = FindWindow("Notepad", vbNullString)
  46.     Me.Caption = Hwnd
  47.     HwndChild = GetNextWindow(Hwnd, GW_CHILD)
  48.        '//Envia la pulsación de la tecla 2 (del teclado alfabético)
  49.        Call PostMessage(HwndChild, WM_KEYDOWN And WM_KEYUP, vbKeyQ, NILL)
  50. End Sub
  51.  


EXPLICACIÓN:
FindWindow obtiene un número que es el identificador de ventana (handle). La mayoría de los procesos de windows tienen su handle. La barra de tareas de windows por  ejemplo también tiene su handle.

Sin embargo algunas ventanas tienen ventanas "hijas", como es el caso del Notepad, donde la ventana hija es el cuadro de texto donde se escribe. Por esta razón en el segundo botón he puesto GetNextWindow, para obtener la ventana "hija" y enviar el mensaje de pulsación a esta ventana.  Podría ser que este juego tenga una ventana hijo.

SciCalc/CalcFrame, Notepad. Son nombres de clase (ClassName). Necesarios para obtener el Handle o Identificador de ventana. También es posible el nombre de la ventana, por ejemplo "Sin títuo - Bloc de notas" o "Calculadora"

Código:
Hwnd = FindWindow(vbNullString, "Calculadora")

Hwnd = FindWindow(vbNullString, "Sin título - Bloc de notas")

O ambos, útil para mismo proceso con idénticos nombres de clase pero con distinto nombre de ventana.

Código:
Hwnd = FindWindow("SciCalc", "Calculadora")

Hwnd = FindWindow("Notepad", "Sin título - Bloc de notas")


Para obtener el "Class Name" puedes usar la herramienta Spy++ incluída en VB6 o VB.NET. Al que puedes acceder desde el menú inicio de windows. Pulsa buscar ventana y arrastra la diana hasta la ventana que quieras identificar y  Spy++ te mostrará el nombre de clase y el identificador (en hexadecimal).


He metido    Me.Caption = Hwnd para que se vea el identificador, si es 0, es que no has obtenido ningún identificador.  Porque has escrito mal el nombre de clase o el de la ventana.

Para VB.NET

Código
  1. Imports System.Runtime.InteropServices
  2. Imports System.Security
  3.  
  4. Public Class Form1
  5.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  6.        '//Abre el notepad y la calculadora
  7.        Process.Start("Notepad")
  8.        Process.Start("Calc")
  9.        Button1.Text = "2 a Calculadora"
  10.        Button2.Text = "Q a Notepad"
  11.    End Sub
  12.  
  13.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  14.        '//Obtiene el identificador de la ventana de la Calculadora
  15.  
  16.        'Windows Vista/XP
  17.        Dim Hwnd As IntPtr = NativeMethods.FindWindow("SciCalc", Nothing)
  18.  
  19.        'Windows 7
  20.        'Dim Hwnd As IntPtr = NativeMethods.FindWindow("CalcFrame", Nothing)
  21.  
  22.        Me.Text = Hwnd
  23.        '//Envia la pulsación de la tecla 2 (del teclado alfabético)
  24.        NativeMethods.PostMessage(Hwnd,   NativeMethods.WM_KEYDOWN And NativeMethods.WM_KEYUP, Keys.D2, NativeMethods.NILL)
  25.    End Sub
  26.  
  27.    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  28.        '//Obtiene el identificador de la ventana del Notepad
  29.        Dim Hwnd As IntPtr = NativeMethods.FindWindow("Notepad", Nothing)
  30.        '//Obtiene el identificador de la ventana "hijo" del Notepad (ClassName="Edit")
  31.        Dim hwndChild As IntPtr = NativeMethods.GetNextWindow(Hwnd, NativeMethods.GW_CHILD)
  32.  
  33.        Me.Text = Hwnd
  34.        '//Envia la pulsación de la tecla 'Q'
  35.        NativeMethods.PostMessage(hwndChild,NativeMethods.WM_KEYDOWN And NativeMethods.WM_KEYUP , Keys.Q, NativeMethods.NILL)
  36.    End Sub
  37. End Class
  38.  
  39. <SuppressUnmanagedCodeSecurity()>
  40. Friend NotInheritable Class NativeMethods
  41.    Private Sub New()
  42.    End Sub
  43.    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
  44.    Friend Shared Function FindWindow( _
  45.     ByVal lpClassName As String, _
  46.     ByVal lpWindowName As String) As IntPtr
  47.    End Function
  48.  
  49.    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto, EntryPoint:="GetWindow")> _
  50.    Friend Shared Function GetNextWindow(ByVal hwnd As IntPtr, ByVal wFlag As Integer) As Integer
  51.    End Function
  52.  
  53.    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
  54.    Friend Shared Function FindWindowEx(ByVal hWnd1 As IntPtr, _
  55.                                        ByVal hWnd2 As IntPtr, _
  56.                                        ByVal lpsz1 As String, _
  57.                                        ByVal lpsz2 As String) As Integer
  58.  
  59.    End Function
  60.  
  61.  
  62.    <DllImport("user32.dll", CharSet:=CharSet.Auto, Entrypoint:="PostMessageA")> _
  63.    Friend Shared Function PostMessage(ByVal hwnd As IntPtr, ByVal wMsg As Integer, _
  64.                                                                           ByVal wParam As Integer, _
  65.                                                                            ByVal lParam As Integer) As Integer
  66.    End Function
  67.    Public Const VK_NUMPAD1 = &H61
  68.    Public Const WM_KEYUP = &H101
  69.    Public Const WM_KEYDOWN = &H100
  70.    Public Const NILL = 0&
  71.    Public Const WM_SYSCOMMAND = &H112
  72.    Public Const SC_CLOSE = &HF060
  73.    Public Const GW_HWNDNEXT = 2
  74.    Public Const GW_CHILD = 5
  75.  
  76. End Class
  77.  


La idea es que obtengas el nombre de clase de  la ventana del juego y pruebes desde el programa pulsando el botón a ver envía la pulsación. Si funciona pues en lugar del botón puedes usar un Timer, para que envíe una pulsación cada X segundos de forma automática.
46  Programación / Desarrollo Web / Re: Obtener URL del traductor de Google para traducir desde programa en: 23 Julio 2016, 11:27 am
Revisando por google he encontrado esto

https://cloud.google.com/translate/docs/

Echale un ojo a ver si te sirve.

Un saludo.



Citar
Con API de Google Translate, puede traducir texto de forma dinámica entre miles de pares de idiomas. La API de Google Translate permite a los sitios web y programas de integración con Google Translate API de programación. Traductor Google API está disponible como un servicio de pago. Ver las tarifas y FAQ páginas para obtener más detalles. Para la traducción de sitios web, echa un vistazo a sitios web de Google Traductor Gadget .

¿Como un servicio de pago? pues va a ser que no  :xD

Ya veo porqué ahora no funciona. Gracias
47  Programación / Desarrollo Web / Re: Obtener URL del traductor de Google para traducir desde programa en: 22 Julio 2016, 16:59 pm
Creo que han cambiado, ahora es así

https://translate.google.com/#en/es/SF

donde #en es el idioma que escribes y es el idioma donde se traducira.
SF es el texto


Espero que te sirva.
Un saludo.

que va no sirve me devuelve " CTYPE html><html><head><meta content="

he puesto: "http://translate.google.com/#en/es/hello"

gracias

48  Programación / Desarrollo Web / Obtener URL del traductor de Google para traducir desde programa en: 22 Julio 2016, 15:47 pm
Hola
He probado este servidor que antes funcionaba pero lo han debido de cambiar y ahora ya no me funciona:

Código:
http://translate.google.com/translate_a/t?client=t&text=hello&sl=en&tl=es


obtengo el siguiente error :

"Error en el servidor remoto: (503) Servidor no disponible."

Bueno, he estado mirando por ahí, y parece que ya no es tan simple  :(





49  Programación / Programación Visual Basic / Re: (AYUDA) Crear un ¿auto-tip? en: 22 Julio 2016, 14:18 pm
Lekim, el juego es Mu 99c una version viejita ya, yo lo ejecuto en modo ventana pero tambien tiene pantalla completa, emm me podrias ayudar a programar el auto-pot? Yo lo intente pero no me funciona :(

¿Es este?
http://mupirata.com.ar/99c/index.php

Me lo estoy descargando desde mega, ¿Es Cliente99cConSonido.exe?

Más que nada es para probar porque cada juego es un mundo. Así, no hay que hacer 30 posts

Imagino que es para PC ¿Es online?

Espero no tener que registrarme ni nada de eso  :¬¬


Nunca he usado pero he visto en foros que hay programas ya echos para esto como uno llamado AutoHotkey
Que envía pulsaciones de teclas de forma automática.

No lo he probado pero podrías probar, a lo mejor te sirve.
 
http://ahkscript.org/
50  Programación / Programación Visual Basic / Re: (AYUDA) Crear un ¿auto-tip? en: 20 Julio 2016, 12:58 pm
Hola

No dices para que tipo de juego, de ventana, Internet, pantalla completa. Los de Mame32 no dejan. Lo digo por si quieres que dispare constantemente. Para enviar en mensaje sólo a ese juego yo primero obtendría el handle de la ventana y enviaría el mensaje de pulsación de tecla a esa ventana.

Pero esto lo he hecho con juegos que tienen algún tipo de identificador para poder enviar el mensaje. Nunca lo he hecho por ejemplo con juegos de internet. En este caso no se si sería enviarlo a la ventana de navegador.

Si lo quieres para VB6 si quieres te lo pongo, pero puedes encontrar un porrón de ejemplos en Internet.

s2s
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 32
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines