BARRA DE MENU INICIAR

ADRIANO 22/03/2004 01:25:27
#16394
Por favor alguém sabe como eu faço para saber o valo do height da Barra de menu iniciar do windows? ou talvez o screen.height já com o valor do height da barra descontado???

A muito tempo tenho essa dúvida. Postei ela a muito tempo atráz nesse mesmo fórum mais ÂÂÂ'niguém soube me respoder, espero q dessa vez alguém possa me ajudar.

Desde já agradeço.

Adriano D. Mà¼ller.
USUARIO.EXCLUIDOS 23/03/2004 02:41:31
#16536
Resposta escolhida
De imediato foi o melhor que consegui:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowRect 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

Private Sub Form_Load()
Dim lHandle As Long, Rec As RECT, Msg As String

Msg = "A área da tela sem a barra do menu Iniciar é de: "

'Localiza o hWnd do objeto Barra do Menu Iniciar _
Que é representado pela Classe chamada "Shell_TrayWnd".
lHandle = FindWindow("Shell_TrayWnd", vbNullString)
'Captura as definições de Tamnho e largura do _
objeto referênciado pelo lHandle.
GetWindowRect lHandle, Rec

'verifica se a barra do menu Iniciar está em baixo _
(ou em cima) ou em um dos lados.
If (Rec.Bottom) (Menor Que) (Rec.Right) Then
'O menu Iniciar encontra-se na parte inferior ou _
superior da tela.
MsgBox Msg & Screen.Height - (Rec.Bottom) & " twips. E não está na parte lateral"
Else
'O menu Iniciar encontra-se em uma das partes _
laterais das tela.
MsgBox Msg & Screen.Width - (Rec.Right) & " twips. E está na parte lateral."
End If
End Sub


OBS.: Na instrução IF onde você encontrar a seguinte string (Menor Que) troque pelo sinal matemático de mesmo significado.
Tópico encerrado , respostas não são mais permitidas