473,385 Members | 1,400 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

SendMessage(handle, WM_CHAR, VirtualKeys.VK_A, 0) does not trigger KeyDown...

Hi All,

maybe this is a sill question..but if i have TextBox and use the
SendMessage(..) to send
a character the control.. the KeyDown event is not triggered.... in would
need to check in the WndProc(...) of the WM_CHAR event...

Is there another way to send characters to the TextBox, when I'm only having
the control's handle
which does simulated the user typing in characters so the KeyDown event gets
triggered?

Cheers,

Fred
Jul 22 '05 #1
4 35454
If you want the KeyDown event triggered, you need to send the
WM_KEYDOWN message.

Jul 22 '05 #2
Hi Chris,

thx...

using the WM_KEYDOWN.. how can i send a control key + a letter.. e.g Ctrl+G
??

Cheers,

Fred

"Chris Dunaway" <du******@gmail.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
If you want the KeyDown event triggered, you need to send the
WM_KEYDOWN message.

Jul 22 '05 #3
It appears as if you have to send 5 messages to get a Ctrl+G:

WM_KEYDOWN for the Ctrl key
WM_KEYDOWN for the G key
WM_CHAR for the Ctrl-G (7)
WM_KEYUP for the G key
WM_KEYUP for the Ctrl key

I could be wrong, but that is how it looked in Spy++ when I pressed
Ctrl+G on a textbox.

Here is how I duplicated that in code:

Dim GDownLParam As New IntPtr(&H220001)
Dim GUpLParam As New IntPtr(&HC0220001)
Dim CtrlDownLParam As New IntPtr(&H11D0001)
Dim CtrlUpLParam As New IntPtr(&HC11D0001)
Win32.User.SendMessage(TextBox1.Handle, Win32.User.WM_KEYDOWN,
&H11, CtrlDownLParam)
Win32.User.SendMessage(TextBox1.Handle, Win32.User.WM_KEYDOWN,
&H47, GDownLParam)
Win32.User.SendMessage(TextBox1.Handle, Win32.User.WM_CHAR,
&H7, GDownLParam)
Win32.User.SendMessage(TextBox1.Handle, Win32.User.WM_KEYUP,
&H47, GUpLParam)
Win32.User.SendMessage(TextBox1.Handle, Win32.User.WM_KEYUP,
&H11, CtrlUpLParam)

I have a set of classes that make it easy to call the Win32 API and
that is what I am using in this code. If you're interested in those
classes, I can send them.

Chris

Jul 22 '05 #4
Hi Chris,

that works great! Thx,

Cheers,
Fred

"Chris Dunaway" <du******@gmail.com> wrote in message
news:11**********************@g43g2000cwa.googlegr oups.com...
It appears as if you have to send 5 messages to get a Ctrl+G:

WM_KEYDOWN for the Ctrl key
WM_KEYDOWN for the G key
WM_CHAR for the Ctrl-G (7)
WM_KEYUP for the G key
WM_KEYUP for the Ctrl key

I could be wrong, but that is how it looked in Spy++ when I pressed
Ctrl+G on a textbox.

Here is how I duplicated that in code:

Dim GDownLParam As New IntPtr(&H220001)
Dim GUpLParam As New IntPtr(&HC0220001)
Dim CtrlDownLParam As New IntPtr(&H11D0001)
Dim CtrlUpLParam As New IntPtr(&HC11D0001)
Win32.User.SendMessage(TextBox1.Handle, Win32.User.WM_KEYDOWN,
&H11, CtrlDownLParam)
Win32.User.SendMessage(TextBox1.Handle, Win32.User.WM_KEYDOWN,
&H47, GDownLParam)
Win32.User.SendMessage(TextBox1.Handle, Win32.User.WM_CHAR,
&H7, GDownLParam)
Win32.User.SendMessage(TextBox1.Handle, Win32.User.WM_KEYUP,
&H47, GUpLParam)
Win32.User.SendMessage(TextBox1.Handle, Win32.User.WM_KEYUP,
&H11, CtrlUpLParam)

I have a set of classes that make it easy to call the Win32 API and
that is what I am using in this code. If you're interested in those
classes, I can send them.

Chris

Jul 22 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: R.Wieser | last post by:
Hello All, I'm trying to get a "Virtual Listbox" to work. I've currently got a form, and used CreateWindowExA to create a ListBox with the LBS_OWNERDRAWFIXED and LBS_NODATA flags on it. I've...
1
by: Nidhi | last post by:
Hi, I am trying to write code to retrieve the small icon for an application in C#. I am using SendMessage with WM_GETICON for this purpose but the return value I get is 0. I don't understand...
5
by: Adam Clauss | last post by:
I am attempting to set the text on a richedit control in another application using EM_SETTEXTEX:...
0
by: TonyG | last post by:
I need to send a message to a window in another application. The name of the window is known at design time and set in the constant App2_MONITOR_CAPTION. The message is defined as X_GenerateEvent....
4
by: Fred Heida | last post by:
Hi All, maybe this is a sill question..but if i have TextBox and use the SendMessage(..) to send a character the control.. the KeyDown event is not triggered.... in would need to check in the...
4
by: Sean | last post by:
I am trying to send a WM_COPYDATA message to another application in C#, ..NET 2.0. The other application receives the message, but only seems to see the first character of the string, does...
5
by: michelqa | last post by:
Hi, I need to call a lot of different native SendMessage to retreive informations from non managed application. Some win32 messages use struct pointer for lparam....how to create and...
4
by: michelqa | last post by:
Hi, I use sendMessage to retrieve information from another application. For some obscur reasons, my code work only in a button click event and nowhere else in my application. I mean I get...
3
by: michelqa | last post by:
Hi, I already post a similar question last week without success. Ok I want to get the current text selection in a RICHEDIT control.. This can be easily done in C++ with EM_EXGETSEL message. I...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.