Bug in TCMD but not in TCC

Jun 28, 2008
6
0
#1
If I use the WinBatch SendKeysTo() to send the string "e:\web\" to TCC 13.04.52 x64, the string is received properly as "e:\web\".
But if I use the exact same WinBatch script to send "e:\web\" to TCMD 1313.04.52 x64, the string is received in TCMD as "e;\web\".

As you can see the colon ":" is handled/rendered properly by TCC, but improperly as a semicolon ";" by TCMD.

This behavior has been going on for several versions, several months. I had hoped it would be fixed. I went from TCMD 11 to 13 (skipping 12). I think (if memory serves) that this improper behavior began with TCMD 13. But, since I did not use 12, it could have begun in 12.
 
#2
If I use the WinBatch SendKeysTo() to send the string "e:\web\" to TCC 13.04.52 x64, the string is received properly as "e:\web\".
But if I use the exact same WinBatch script to send "e:\web\" to TCMD 1313.04.52 x64, the string is received in TCMD as "e;\web\".

As you can see the colon ":" is handled/rendered properly by TCC, but improperly as a semicolon ";" by TCMD.

This behavior has been going on for several versions, several months. I had hoped it would be fixed. I went from TCMD 11 to 13 (skipping 12). I think (if memory serves) that this improper behavior began with TCMD 13. But, since I did not use 12, it could have begun in 12.
I can reproduce that in a way. The SHRALIAS DLL I inject into Explorer also has a hotkey server. One of the things it will do from a hotkey is send keystrokes. I asked it to have F6 send "::;;" and then (at the next prompt) pressed F6 in TCMD. Here's what I saw (all semicolons):


Code:
v:\> shrhotkey f6 **sendkeys** ::;;
 
Key: F6
Command: **sendkeys**
String: ::;;
 
Add hotkey? (Y/N) ... y
 
Message sent to ShrAlias++
 
v:\> ;;;;
It does not happen if I send the keys to TCC and it does not happen in a similar experiment with KEYSTACK.

I tried it again with the string "AaAa". The result in TCMD (only) was "aaaa".
 
#4
Send the keys to the command input window (that's one of the reasons it's there!).

This is an old (old, old, old) Windows bug when passing messages through a GUI app to a console app. KEYSTACK goes to great lengths to work around the bug.
It would seem that the Windows API has no idea that TCMD is going to pass them on to a console app.
Anyway, can you describe the bug or, better yet, the workaround so I can use it in my app?

**And** I noticed two peculiar behaviors in the forum today.

1. When I click "Reply" (to a post), the insertion point is on the line following some quoted text **AFTER** a space
2. When I insert code, it goes at the beginning of the post, before quoted text (before everything), regardless of where the insertion point is.

I hadn't seen that before.
 

rconn

Administrator
Staff member
May 14, 2008
10,588
97
#6
1. When I click "Reply" (to a post), the insertion point is on the line following some quoted text **AFTER** a space
Not reproducible here.

2. When I insert code, it goes at the beginning of the post, before quoted text (before everything), regardless of where the insertion point is. I hadn't seen that before.
Not reproducible here.

Code:
this is some code