Simulate mouse clicks and keyboard input

  • Thread starter Thread starter progger
  • Start date Start date
P

progger

I have a C# application that hosts an AxWebBrowser control which I automate
by sending mouse clicks and keyboard input. I have had various problems in
doing this due to a bug in the AxWebBrowser receiving input when it is
hosting a flash page however I have got it to work using SendKeys for the
keyboard input and the Windows API SendInput function for the mouse clicks
(along with Cursor.Position) however I'd like to do this in the background
either ideally when the window is out of focus, minimized or even hidden
window or at the least so the user can carry on working on the machine and
the mouse isn't captured.

Note: I've played around using mouse_event and even SendMessage but the
flash bug always got in the way and the page didn't receive the click.

Any ideas would be gratefully received.

Thanks,

Simon
 
progger said:
I have a C# application that hosts an AxWebBrowser control which I
automate
by sending mouse clicks and keyboard input. I have had various problems in
doing this due to a bug in the AxWebBrowser receiving input when it is
hosting a flash page however I have got it to work using SendKeys for the
keyboard input and the Windows API SendInput function for the mouse clicks
(along with Cursor.Position) however I'd like to do this in the background
either ideally when the window is out of focus, minimized or even hidden
window or at the least so the user can carry on working on the machine and
the mouse isn't captured.


I don't believe you can send input to a control in this manor if it does not
have the focus. SendKeys (and the such) is supposed to replicate user input
device data, and you can't input data to something that the cursor (or
pointer) isn't on.

I have an idea of how to possibly do it in the background, but just thinking
about it makes me tremble and quiver.

Note: I've played around using mouse_event and even SendMessage but the
flash bug always got in the way and the page didn't receive the click.


Could this possibly be due to timing issues? Something like what is
mentioned here:

http://msdn2.microsoft.com/en-us/library/ms171548.aspx



I enjoy problems like these, they are my favorite kind to work out.
 
Many thanks for the response however unfortunately the AxWebBrowser control
doesn't have a OnMouseClick event to call. My ideal scenario would be to
somehow create a 'virtual' window for collecting the data and then displaying
the result in a 'real' window.

Thanks,

Simon
 
Back
Top