EVENTO NO MOUSE

JAIRMAR 24/06/2010 08:31:47
#345647
Bom dia senhores,

Gostaria de saber como rodar um programa externo chamado pelo shell, quando o usuario movimenta o mouse, em outras palavras, quando o usuario acionar o mouse, por movimento ou click , ele acionar a execução de um programas externo.
Eu deveria uasar apis mouse_event? Se for qual a sintaxe do comando.

Obrigado
JESUEL.OLIVEIRA 24/06/2010 09:36:41
#345660
Amigo se entendi o que você quer funfa assim

escolha mouse_up, mousedown, mousemove

   
x = Shell([Ô]c:\msoffice\access\msaccess.exe[Ô], 3)
JAIRMAR 24/06/2010 11:20:10
#345679
Ola amigo JEUEL_OLIVEIRA,

Obrigado por responder a minha pergunta, a minha ideia é o seguinte, farei um programa que ficará ocuLto na memoria e quando o usuario sentar nesta maquina para operar qualquer trabalho o programa fará um printscreen da tela do usuario.
o prgrama já está funcionamdo pois coloquei um timer de 1 minuto para ele copiar as telas, só que a maquina as vezes fica sem operação por usurio por algumas horas e o sistema continua fazendo printscreen da tela de 1 em 1 minuto mesmo a maquna parada.

Qual a solução !!! Fazer com que este programa rode omente enquanto alguem senta na maquina para trabalhar.

Pois então eu achei que se fizer leitura de movimentação do mouse acionaria o programa em questão.

A ideia é boa ou voce tem um caminho melhor para realizar esta tarefa?

obrigado pela ajuda.
MSMJUDAS 24/06/2010 17:09:53
#345717
Resposta escolhida
No evento Mouse_Move vc consegue pegar a posição do mouse, experimente coloca isso em algum controle, ex: SSTAB

Private Sub SSTab_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MsgBox [Ô]Posicao X: [Ô] & X & [Ô] - Posicao Y: [Ô] & Y & [Ô][Ô], vbCritical, [Ô][Ô]
End Sub

Mas como o programa vai estar oculto, não irá funcionar. Esse só pega a posição quando vc passa o mouse em cima do controle, no caso SSTab

Deve existir alguma API que pegue a posição do mouse independente de estar passando ou não de algum objeto.
LIZANDER 24/06/2010 19:10:13
#345729
Tá aí...

Private Type POINTAPI
X As Long
Y As Long
End Type

[ô]Declare the API-Functions
Private Declare Function GetCursorPos Lib [Ô]user32[Ô] (lpPoint As POINTAPI) As Long


Private Sub Timer1_Timer()
Dim Point As POINTAPI
GetCursorPos Point
Label1.Caption = Str(Point.X) & [Ô] , [Ô] & Str(Point.Y)
End Sub


Neste exemplo, pus um label e um timer...
conforme movo o mouse, mesmo fora do form ele registra o ponto x e o y do mouse...
Basta coletar o último... se mudou, alguém mexeu no mouse...
Se alguém mexeu no mouse, troque o enabled do seu timer que faz os printscreen de false para true...
Continue coletando...
se por x vezes o mouse não mover, volte a colocar o seu timer como false

Ou seja, o mesmo só vai fazer os printscreen se estiver true, quando alguém mexer no mouse...

Espero ter ajudado!

JAIRMAR 24/06/2010 20:19:47
#345736
Citação:

:
Tá aí...

Private Type POINTAPI
X As Long
Y As Long
End Type

[ô]Declare the API-Functions
Private Declare Function GetCursorPos Lib [Ô]user32[Ô] (lpPoint As POINTAPI) As Long


Private Sub Timer1_Timer()
Dim Point As POINTAPI
GetCursorPos Point
Label1.Caption = Str(Point.X) & [Ô] , [Ô] & Str(Point.Y)
End Sub


Neste exemplo, pus um label e um timer...
conforme movo o mouse, mesmo fora do form ele registra o ponto x e o y do mouse...
Basta coletar o último... se mudou, alguém mexeu no mouse...
Se alguém mexeu no mouse, troque o enabled do seu timer que faz os printscreen de false para true...
Continue coletando...
se por x vezes o mouse não mover, volte a colocar o seu timer como false

Ou seja, o mesmo só vai fazer os printscreen se estiver true, quando alguém mexer no mouse...

Espero ter ajudado!



Caro colega obrigado pela a ajuda.
Eu queria saber se este programa capturador de telas ficasse oculto, a rotina acima funcionaria?

obrigado
LIZANDER 25/06/2010 18:24:47
#345818
Só testando... mesmo fora da tela, sem o foco no form, ele continua contabilizando a posição do mouse, então acredito que mesmo oculto vai funcionar... vc testou?
JAIRMAR 26/06/2010 19:15:40
#345885
Citação:

:
Só testando... mesmo fora da tela, sem o foco no form, ele continua contabilizando a posição do mouse, então acredito que mesmo oculto vai funcionar... vc testou?



Não tive tempo ainda, mas vou testar e te retorno

abraço
Tópico encerrado , respostas não são mais permitidas