How do I send keystrokes from MATLAB to another application that was invoked using the bang(!) operator?

40 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 4 Nov 2020
Modifié(e) : MathWorks Support Team le 4 Nov 2020
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
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:

Plus de réponses (0)


En savoir plus sur Desktop dans Help Center et File Exchange


Community Treasure Hunt

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

Start Hunting!

Translated by