Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Keyen Night en 17 Octubre 2009, 04:08 am



Título: Ayuda SendMessage y Captions
Publicado por: Keyen Night en 17 Octubre 2009, 04:08 am
Estoy tratando de leer el Static de una ventana de Dialog de Windows, la que dice:

No se puede tener acceso a 'xxxx'

Acceso Denegado.


Ya logre obtener el handle del dialog con:
Código:
FindWindow("#32770", "Explorador de Windows")

Y comprobando que ese fuera el hWnd usando a SendMessage par obtener el caption y asi comprobar si realmente es la ventana, entonces... uso FindWindowEx para obtener el Static interno del dialog cuya class es "Static" y retorna 0 el handle:
Código:
FindWindowEx(FindWindow("#32770", "Explorador de Windows"), 0, 0, "Static")

Que debo hacer para obtener el texto de ese Static?

Gracias.


Título: Re: Ayuda SendMessage y Captions
Publicado por: seba123neo en 17 Octubre 2009, 05:55 am
Hola, al parecer esta mal el FindWindowEx, el nombre de clase va en el primer parametro...aca te paso un ejemplo de lo que queres en visual basic 6, facil de pasar a .NET.

Código
  1. Option Explicit
  2.  
  3. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
  4. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  5. 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
  6. Private Const WM_GETTEXT = &HD
  7.  
  8. Private Sub Command1_Click()
  9.    Dim vHwndPadre As Long, vHwndHijo As Long, vHwndHijo2 As Long
  10.    Dim vTexto As String * 256
  11.  
  12.    vHwndPadre = FindWindow("#32770", vbNullString)
  13.    vHwndHijo = FindWindowEx(vHwndPadre, 0, "Static", vbNullString)
  14.    vHwndHijo2 = FindWindowEx(vHwndPadre, vHwndHijo, "Static", vbNullString)
  15.  
  16.    Call SendMessage(vHwndHijo2, WM_GETTEXT, 256, vTexto)
  17.  
  18.    MsgBox vTexto
  19. End Sub

lo probe con un mensaje de windows simulando un mensaje de error.

saludos.


Título: Re: Ayuda SendMessage y Captions
Publicado por: Keyen Night en 18 Octubre 2009, 00:04 am
Muchas gracias sirvio perfecto ^^