ActiveX "sendkeys" not passing CTRL+1 to target program

1 次查看(过去 30 天)
Hi,
I'm trying to send CTRL+1 to an activeX window. I've followed all the instructions and understand the use of {} and (), but the following (or any parenthesized varient) won't send the command I'm looking to send. I can resolve a similar problem with case-sensitivity of alphabetical characters (must use upper case), but numeric digit is not passed correctly. Any advice?
h = actxserver('WScript.Shell');
h.Run('.\myProgram');
pause(3); % Waits for the application to load.
h.AppActivate('myProgram'); % Brings myProgram to focus
h.SendKeys('^1')
  1 个评论
Walter Roberson
Walter Roberson 2018-11-26
Can you h.SendKeys(char('1'-32)) ?
The offset of 32 is valid for the digits to find the corresponding control key. The more general expression would be char(bitand(uint8(TheCharacter),31))

请先登录,再进行评论。

回答(0 个)

标签

产品


版本

R2015b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by