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
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 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 ActiveX 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!