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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [MINI SOURCE]Cambiar el nombre a una ventana
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [MINI SOURCE]Cambiar el nombre a una ventana  (Leído 5,693 veces)
fary


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
[MINI SOURCE]Cambiar el nombre a una ventana
« en: 28 Febrero 2010, 18:26 pm »

Hola gente esta tarde me aburria y m e puesto a hacer este pequeño code, cirve para cambiarle el texto a una ventana. Usa dos Apis Findwindow para recuperar el handle de la ventana y Setwindowtext para cambiar el nombre. Si mas que hablar les dejo el code..

Código
  1. Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" ( _
  2.    ByVal hwnd As Long, _
  3.    ByVal lpString As String) As Long
  4. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
  5.    ByVal lpClassName As String, _
  6.    ByVal lpWindowName As String) As Long
  7. Private Sub Command1_Click()
  8.    Dim drinky As String, handle As long
  9.    handle = FindWindow(vbNullString, "Calculadora")
  10.    drinky = SetWindowText(handle, "Drinky94 ;)")
  11. End Sub
  12.  

Nos vemos... Salu2!


« Última modificación: 28 Febrero 2010, 21:18 pm por Drinky94 » En línea

Un byte a la izquierda.
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [MINI SOURCE]Cambiar el nombre a una ventana
« Respuesta #1 en: 28 Febrero 2010, 20:06 pm »

Una muestra con SendMessageW() + WM_SETTEXT
Código
  1. 'USER32
  2. Private Declare Function SendMessageW Lib "USER32" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
  3.  
  4. Private Const WM_SETTEXT    As Long = &HC
  5.  
  6. Public Function SetText(ByVal lHwnd As Long, ByVal sCaption As String) As Boolean
  7.    SetText = CBool(SendMessageW(lHwnd, WM_SETTEXT, ByVal 0&, ByVal StrPtr(sCaption)))
  8. End Function
Código
  1. Call SetText(Form1.hwnd, "WM_SETTEXT")


En línea

Hasseds

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: [MINI SOURCE]Cambiar el nombre a una ventana
« Respuesta #2 en: 28 Febrero 2010, 21:17 pm »

Drinky, la variable handle no es string, es long,  ;)

S2
En línea

Sergio Desanti
fary


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: [MINI SOURCE]Cambiar el nombre a una ventana
« Respuesta #3 en: 28 Febrero 2010, 21:18 pm »

Drinky, la variable handle no es string, es long,  ;)

S2

Cierto... ;) cuando llebas razon llebas razon ;)

salu2!
En línea

Un byte a la izquierda.
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [MINI SOURCE]Cambiar el nombre a una ventana
« Respuesta #4 en: 28 Febrero 2010, 22:54 pm »

Cierto... ;) cuando llebas razon llebas razon ;)
Llevas*

No pretendo ser grosero, solo es que me duelen los ojos...
En línea

fary


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: [MINI SOURCE]Cambiar el nombre a una ventana
« Respuesta #5 en: 28 Febrero 2010, 23:32 pm »

Cierto... ;) cuando llebas razon llebas razon ;)
Llevas*

No pretendo ser grosero, solo es que me duelen los ojos...

Tampoco me anden con finerias xD que eso ya sique es ganas de acer el tonto xD



salu2!
En línea

Un byte a la izquierda.
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [MINI SOURCE]Cambiar el nombre a una ventana
« Respuesta #6 en: 28 Febrero 2010, 23:35 pm »

Tampoco me anden con finerias xD que eso ya sique es ganas de acer el tonto xD
hacer*
Es importante escribir bien, no es ninguna fineria... no poner acentos y tal aún, pero hay fallos graves...
En línea

fary


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: [MINI SOURCE]Cambiar el nombre a una ventana
« Respuesta #7 en: 28 Febrero 2010, 23:47 pm »

Tampoco me anden con finerias xD que eso ya sique es ganas de acer el tonto xD
hacer*
Es importante escribir bien, no es ninguna fineria... no poner acentos y tal aún, pero hay fallos graves...

Pero tio no me vengas con estas que la mitad del foro ace esto xD y solo me lo decis a mi!
En línea

Un byte a la izquierda.
Hasseds

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: [MINI SOURCE]Cambiar el nombre a una ventana
« Respuesta #8 en: 1 Marzo 2010, 00:27 am »

Dinky, solo son errores que si no lo cometes es mejor, por ejemplo (ya te lo habia dicho en otro post) usas mal FindWindow

handle = FindWindow (vbNullString, "Calculadora")' solo para un windows en castellano

handle = FindWindow("SciCalc", vbNullString) ' para windows con cualquier idioma

No te enojes, que tal si Clausuramos esa calculadora ???

Código:
Option Explicit

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long

Private Sub Command1_Click()
  Call EnableWindow(FindWindow("SciCalc", vbNullString), 1)
End Sub

Private Sub Form_Load()
  Shell "calc"
  Dim handle  As Long
  handle = FindWindow("SciCalc", vbNullString)
  Call SendMessage(handle, &HC, 0, ByVal "CLAUSURADO")
  Call EnableWindow(handle, 0)
  Dim handle2  As Long
  handle2 = FindWindowEx(handle, 0, "Edit", vbNullString)
  Call SendMessage(handle2, &HC, 0, ByVal "POR EH")
End Sub








En línea

Sergio Desanti
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [MINI SOURCE]Cambiar el nombre a una ventana
« Respuesta #9 en: 1 Marzo 2010, 06:38 am »

Dinky, solo son errores que si no lo cometes es mejor, por ejemplo (ya te lo habia dicho en otro post) usas mal FindWindow

handle = FindWindow (vbNullString, "Calculadora")' solo para un windows en castellano

handle = FindWindow("SciCalc", vbNullString) ' para windows con cualquier idioma

No te enojes, que tal si Clausuramos esa calculadora ???

Código:
Option Explicit

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long

Private Sub Command1_Click()
  Call EnableWindow(FindWindow("SciCalc", vbNullString), 1)
End Sub

Private Sub Form_Load()
  Shell "calc"
  Dim handle  As Long
  handle = FindWindow("SciCalc", vbNullString)
  Call SendMessage(handle, &HC, 0, ByVal "CLAUSURADO")
  Call EnableWindow(handle, 0)
  Dim handle2  As Long
  handle2 = FindWindowEx(handle, 0, "Edit", vbNullString)
  Call SendMessage(handle2, &HC, 0, ByVal "POR EH")
End Sub


Ese código esta mal, en primera no debe pasarse una api que devuelve cosas inestables directamente en otra en este caso findwindow dentro de Enablewindow
NI TAMPOCO directamente pasar el handle devuelto, directamente a procesar en la siguiente linea.
En pocas palabras debe verificarse que se a obtenido lo deseado y evitar jaladas de pelos posteriores.

P.D.: No es necesario que Drinky use a huevo findwindow pero con la clase de ventana... así que... dejen que aprende a su modo, tampoco es de recalcarse lo en cada post...

Sangrientas Lunas!¡.
En línea

The Dark Shadow is my passion.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Obtener el Nombre de la ventana
.NET (C#, VB.NET, ASP)
BrokerJoker 4 3,036 Último mensaje 30 Enero 2012, 00:41 am
por Keyen Night
[SOURCE] Añadir magnetismo a los bordes de una ventana/Form
.NET (C#, VB.NET, ASP)
Eleкtro 0 2,961 Último mensaje 1 Diciembre 2015, 22:14 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines