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

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

タグ

質問済み:

2018 年 11 月 26 日

コメント済み:

2018 年 11 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by