USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  MOUSE
GABRIEL
não registrado
Postada em 30/05/2004 18:59 hs   
gente como é q eu posso simular um CLICK????
só q esse click nao é tipo isso = command1_click é assim:
tipo eu dexo o cursor do mouse en cima do menu iniciar e o meu programa simula um click e o menu abre........... tenderu>?????????????????? se nun entenderu .... me chame no ICQ!!!!!!!!!!!!!! 204211426
VLW  galera!Emoções
     
Alan
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 31/05/2004 14:19 hs            
GABRIEL
 
Vc deve utilizar api do window. Segue um exemplo [Auto Click Menu]
 

'Example by Daniel Kaufmann (daniel@i.com.uy)

'Paste this code in a Form

'with a Menu named menu1 which has a menuitem named menu2

Private Type POINTAPI

x As Long

y As Long

End Type

Private Type RECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function GetMenuItemRect Lib "user32" (ByVal hwnd As Long, ByVal hMenu As Long, ByVal uItem As Long, lprcItem As RECT) As Long

Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

Private Const MOUSEEVENTF_ABSOLUTE = &H8000 ' absolute move

Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down

Private Const MOUSEEVENTF_LEFTUP = &H4 ' left button up

Private Const MOUSEEVENTF_MOVE = &H1 ' mouse move

Private Const MOUSEEVENTF_MIDDLEDOWN = &H20

Private Const MOUSEEVENTF_MIDDLEUP = &H40

Private Const MOUSEEVENTF_RIGHTDOWN = &H8

Private Const MOUSEEVENTF_RIGHTUP = &H10

Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

Private Declare Function GetMessageExtraInfo Lib "user32" () As Long

Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Const SM_CXSCREEN = 0 'X Size of screen

Const SM_CYSCREEN = 1 'Y Size of Screen

Private Sub Form_KeyPress(KeyAscii As Integer)

Dim mWnd As Long

mWnd = Me.hwnd

Dim hMenu As Long, hSubMenu As Long

hMenu = GetMenu(mWnd) 'Get the Menu of the Window(MenuBar)

ClickMenuItem mWnd, hMenu, 0 'Click on the Min SubMenu

hSubMenu = GetSubMenu(hMenu, 0) 'Get its submenu

ClickMenuItem mWnd, hSubMenu, 0 'Click on the Min MenuItem of the Submenu

End Sub

 

Private Sub ScreenToAbsolute(lpPoint As POINTAPI)

lpPoint.x = lpPoint.x * (&HFFFF& / GetSystemMetrics(SM_CXSCREEN))

lpPoint.y = lpPoint.y * (&HFFFF& / GetSystemMetrics(SM_CYSCREEN))

End Sub

Private Sub Click(p As POINTAPI)

'p.X and p.Y in absolute coordinates

'Put the mouse on the point

mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, p.x, p.y, 0, GetMessageExtraInfo()

'Mouse Down

mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, GetMessageExtraInfo()

'Mouse Up

mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, GetMessageExtraInfo()

End Sub

Private Sub ClickMenuItem(ByVal mWnd As Long, ByVal hMenu As Long, ByVal Pos As Long)

Dim ret As Long

Dim r As RECT, p As POINTAPI

ret = GetMenuItemRect(mWnd, hMenu, Pos, r)

If ret = 0 Then Exit Sub

p.x = (r.Left + r.Right) / 2

p.y = (r.Top + r.Bottom) / 2

ScreenToAbsolute p

'Click on p

Click p

End Sub

Private Sub Form_Load()

Dim mWnd As Long, p As POINTAPI

mWnd = Me.hwnd

Dim hMenu As Long, hSubMenu As Long

hMenu = GetMenu(mWnd) 'Get the Menu of the Window(MenuBar)

ClickMenuItem mWnd, hMenu, 0 'Click on the Min SubMenu

hSubMenu = GetSubMenu(hMenu, 0) 'Get its submenu

ClickMenuItem mWnd, hSubMenu, 0 'Click on the Min MenuItem of the Submenu

p.x = &HFFFF& / 2

p.y = &HFFFF& / 2

Click p

Me.AutoRedraw = True

Me.BackColor = vbWhite

Print "Press any key"

End Sub

Private Sub menu2_Click()

MsgBox "Click"

End Sub

 

Falow

Alan

     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página