Solved

How do I get my vb.net application to record touch screen events from Windows Mobile when it's not in focus?

Posted on 2008-10-02
3
1,073 Views
Last Modified: 2013-12-21
I have a small program in Windows Mobile using VB.net that has a form (Form1) and and 2 list boxes (Listbox1, Listbox2). What I want to do is simply capture the X and Y coordinates of the stylus on touch screen events, and then put the X and Y coordinate values in their respective list boxes. Can this be done?

If at all possible I would like to find any examples, tutorials etc that show how to do this when the application is 1) in focus; and 2) not in focus. At minimum I would like to know how this is done while my form is in focus....but my main objective is to do this when my program is not in focus.

Thanks....
0
Comment
Question by:jazjef
  • 2
3 Comments
 
LVL 24

Expert Comment

by:alexey_gusev
ID: 22623312
handle  MouseDown event which is fired with MouseEventArgs - these have X,Y coordinates where the stylus is tapped on the screen
0
 
LVL 24

Expert Comment

by:alexey_gusev
ID: 22623317
oops, misread your question, so above is true when the window is in focus
0
 
LVL 4

Accepted Solution

by:
jazjef earned 0 total points
ID: 22626399
alexey:
Here is some code I found that runs error-free...but the code doesn't return anything yet...  how can I tap into it to get the x y values out... will this work for me? Where do I put my statement to return the coordinates? Thanks....


 _
Private Shared Sub mouse_event(dwFlags As MOUSEEVENTF, dx As Integer, dy As Integer, dwData As Integer, dwExtraInfo As Integer)
End Sub

 _
Private Enum MOUSEEVENTF
    MOVE = &H1
    ' mouse move
    LEFTDOWN = &H2
    ' left button down
    LEFTUP = &H4
    'left button up
    RIGHTDOWN = &H8
    'right button down
    RIGHTUP = &H10
    'right button up
    MIDDLEDOWN = &H20
    'middle button down
    MIDDLEUP = &H40
    ' middle button up
    WHEEL = &H800
    'wheel button rolled
    VIRTUALDESK = &H4000
    ' map to entrire virtual desktop
    ABSOLUTE = &H8000
    ' absolute move
    TOUCH = &H100000
    ' absolute move
End Enum


Friend Shared Sub SendTap(x As Integer, y As Integer)
    mouse_event(MOUSEEVENTF.LEFTDOWN Or MOUSEEVENTF.ABSOLUTE, CInt(((65535 / Screen.PrimaryScreen.Bounds.Width) * x)), CInt(((65535 / Screen.PrimaryScreen.Bounds.Height) * y)), 0, 0)
    mouse_event(MOUSEEVENTF.LEFTUP, 0, 0, 0, 0)
End Sub
0

Featured Post

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

A Bare Metal Image backup allows for the restore of an entire system to a similar or dissimilar hardware. They are highly useful for migrations and disaster recovery. Bare Metal Image backups support Full and Incremental backups. Differential backup…
Sometimes drives fill up and we don't know why.  If you don't understand the best way to use the tools available, you may end up being stumped as to why your drive says it's not full when you have no space left!  Here's how you can find out...
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
In this video, we discuss why the need for additional vertical screen space has become more important in recent years, namely, due to the transition in the marketplace of 4x3 computer screens to 16x9 and 16x10 screens (so-called widescreen format). …

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question