From: Polaris on
Hi Experts:

I saw an PC without keyboard attached, it uses an on-screen keyboard
software program. When user clicks on a "key" (a button) on the program, the
program can find the currently active (focused) window application (for
example, notepad.exe) and input "typed" key into that active program; but
the keyboard program itself seems did not get activated while user click on
a button on it.

I could not figure out how it is accomplished? How does the keyboard program
avoid getting focus (active) even when user click on a "key" button of the
program? It must be able to do so in order to find the currently active
Windows program that user is working with (etc, a notepad.exe).

Thanks for your thoughts in advance.
Polaris



From: Marcin Hoppe on
Polaris pisze:
> Thanks for your thoughts in advance.

What I'd do if I were you and didn't want to buy an off-the-shelf
product (like itKeyboard from http://www.touch-soft.com/) would be to
download a trial version of an off-the-shelf product and use Spy++ to
look at messages that it sends and receives.

Best regards!
--
Marcin Hoppe
Email: marcin.hoppe(a)gmail.com
Blog: http://devlicio.us/blogs/marcin_hoppe
From: Scott Seligman on
"Polaris" <etpolaris(a)hotmail.com> wrote:
>
>I could not figure out how it is accomplished? How does the keyboard program
>avoid getting focus (active) even when user click on a "key" button of the
>program? It must be able to do so in order to find the currently active
>Windows program that user is working with (etc, a notepad.exe).

The window has the WS_EX_NOACTIVATE extended window style set.

--
--------- Scott Seligman <scott at <firstname> and michelle dot net> ---------
The universe is driven by the complex interaction between three
ingredients: matter, energy, and enlightened self-interest.
-- G'Kar in Babylon 5:"Survivors"
From: David Ching on
"Scott Seligman" <seligman(a)example.com> wrote in message
news:g04qfi$s1e$1(a)panix3.panix.com...
> The window has the WS_EX_NOACTIVATE extended window style set.
>

Very cool... I had not known about this style. Before Win2K, the way to do
it was to intercept WM_MOUSEACTIVATE and return MA_NOACTIVATE (or
MA_NOACTIVATEANDEAT).

-- David


From: clintonG on
Go look around http://www.codeproject.com/



"Polaris" <etpolaris(a)hotmail.com> wrote in message
news:OSU6wmssIHA.3716(a)TK2MSFTNGP04.phx.gbl...
> Hi Experts:
>
> I saw an PC without keyboard attached, it uses an on-screen keyboard
> software program. When user clicks on a "key" (a button) on the program,
> the program can find the currently active (focused) window application
> (for example, notepad.exe) and input "typed" key into that active program;
> but the keyboard program itself seems did not get activated while user
> click on a button on it.
>
> I could not figure out how it is accomplished? How does the keyboard
> program avoid getting focus (active) even when user click on a "key"
> button of the program? It must be able to do so in order to find the
> currently active Windows program that user is working with (etc, a
> notepad.exe).
>
> Thanks for your thoughts in advance.
> Polaris
>
>
>