How do I send keystrokes from MATLAB to another application that was invoked using the bang(!) operator?
31 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2012 年 3 月 8 日
編集済み: MathWorks Support Team
2020 年 11 月 4 日
I have invoked an application using the bang(!) operator in MATLAB on Windows, and would like to send keystrokes to this application from MATLAB. As a proof of concept, I would like to see this example implemented for a text editor.
採用された回答
MathWorks Support Team
2020 年 11 月 4 日
編集済み: MathWorks Support Team
2020 年 11 月 4 日
If you are running MATLAB on a Windows machine, you can use the WScript.Shell COM interface to send keystrokes to your application. For example, for Notepad, you would use the following code:
h = actxserver('WScript.Shell');
h.Run('notepad'); %Invokes notepad.exe
pause(3); %Waits for the application to load.
h.AppActivate('Notepad'); %Brings notepad to focus
h.SendKeys('hello world~'); %Sends keystrokes
h.SendKeys('^s'); % save file
pause(3);
h.SendKeys('test.txt~'); % save as 'test.txt' and return
h.SendKeys('%{F4}'); % close Notepad Alt+F4
For more information on symbol mapping to keystrokes, refer to the following URL:
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Environment and Settings についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!