Как вызвать действия из исполняемого файла в PowerShell?

Я использую Powershell 2.0 на Windows 7 с пакетом обновления 1 (SP1), но любые ответы, касающиеся версий 1.0-4.0, были бы хорошими.

Я знаю, что эта команда открывается Paint через PowerShell:

& "C:\Windows\system32\mspaint.exe"  

Я знаю, что эта команда открывается Paint с определенным изображением через PowerShell:

& "C:\Windows\system32\mspaint.exe" "C:\Images\RHZv84o - Imgur.jpg" 

Я хочу знать, могу ли я в Powershell вызывать команды этого исполняемого файла, например: print, save, или же save as? Могу ли я сделать то же самое для любой программы со своими собственными конкретными командами?

Например, если я открою wmplayer.exe (Windows Media Player) с видео (тот же формат, что и для рисования с изображением), он открывается и воспроизводится немедленно. Я хочу вместо этого открыть видео и использовать любую из его команд, таких как Ctrl + P приостановить видео или Ctrl + N создать новый плейлист?

Цель состоит в том, чтобы определить из Powershell, так как некоторые исполняемые файлы могут быть открыты с объектами, могут ли некоторые или все исполняемые файлы быть открыты и вызывать действия (по крайней мере, те, которые имеют сочетания клавиш)?

2 ответа

Если в программе есть глаголы оболочки вроде Open, Print и т.д., вы можете вызвать их.

Для этого приложение должно быть спроектировано так, чтобы предоставлять свои команды внешним абонентам. Краска не разработана таким образом.

Возможно, все еще возможно взаимодействовать с Paint через PowerShell с помощью API-интерфейсов автоматизации, доступных в.NET, но я не исследовал это лично.

Другие вопросы по тегам