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:
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:
FindWindowEx(FindWindow("#32770", "Explorador de Windows"), 0, 0, "Static")
Que debo hacer para obtener el texto de ese Static?
Gracias.
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.
Option Explicit
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
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 Const WM_GETTEXT = &HD
Private Sub Command1_Click()
Dim vHwndPadre As Long, vHwndHijo As Long, vHwndHijo2 As Long
Dim vTexto As String * 256
vHwndPadre = FindWindow("#32770", vbNullString)
vHwndHijo = FindWindowEx(vHwndPadre, 0, "Static", vbNullString)
vHwndHijo2 = FindWindowEx(vHwndPadre, vHwndHijo, "Static", vbNullString)
Call SendMessage(vHwndHijo2, WM_GETTEXT, 256, vTexto)
MsgBox vTexto
End Sub
lo probe con un mensaje de windows simulando un mensaje de error.
saludos.
Muchas gracias sirvio perfecto ^^