Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: SheKeL_C$ en 6 Octubre 2006, 11:23 am



Título: Calcular Altura
Publicado por: SheKeL_C$ en 6 Octubre 2006, 11:23 am
Alguien sabe como calcular la altura de la barra de tareas...

(http://www.usuarios.lycos.es/seken15/barra1.JPG)         (http://www.usuarios.lycos.es/seken15/barra2.JPG)




Gracias y Salu2  :)


Título: Re: Calcular Altura
Publicado por: SheKeL_C$ en 6 Octubre 2006, 20:06 pm
No sabe nadie

 :-(







Título: Re: Calcular Altura
Publicado por: <--v1c1ous--> en 7 Octubre 2006, 04:03 am
La verdad que nose como averiguarla, porque no te fijas en si esta por el registro?

En tu lugar usaria algun programa en VB para monitorear los cambios en la carpeta Windos y en el Registro y lo activaria justo en el momento de cambiar la altura de la barra.

Ahora, si queres calcularla literalemnte, bueno, ahi hay que crear alguna funcion, habria que ver.


Título: Re: Calcular Altura
Publicado por: edge master en 7 Octubre 2006, 06:23 am
Se podria buscar la ventana con la funcion FindWindow y FindWindowEx y despues con GetClientRect se puede obtener la altura de la ventana.


Título: Re: Calcular Altura
Publicado por: SheKeL_C$ en 7 Octubre 2006, 13:23 pm
Si a alguien le sirve
Código:
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Function a()
Dim hwnd As Long
Dim Rectangle As RECT

hwnd& = FindWindow("Shell_TrayWnd", "")

    GetClientRect hwnd&, Rectangle
    MsgBox "Ancho : " + Str$(Rectangle.Right - Rectangle.Left) + " Pixels." + Chr$(13) + "Alto : " + Str$(Rectangle.Bottom - Rectangle.Top) + " Pixels."

End Function


Título: Re: Calcular Altura
Publicado por: edge master en 7 Octubre 2006, 17:38 pm
GetClientRect devuelve las cordenadas con respecto a la esquina superior izquierda de la ventana q se le pasa como parametro(left y top son 0) por lo que no es necesario hacer la resta.