python调用powershell脚本来控制相机自动录像
Windows上以管理员身份运行PowerShell
在PowerShell中输入以下命令,选择Y
Set-ExecutionPolicy Bypass -Scope Process
编写ps脚本代码如下,命名为xxx.ps1。powershell脚本类似C#
# Set-ExecutionPolicy Bypass -Scope Process 以管理员身份运行PowerShell,然后输入这行代码来开启脚本运行允许
# 引用命名空间
Add-Type -AssemblyName System.Windows.Forms
# 注意设置要录制多少秒,加1s是按键延迟
$RecordTime= 60 + 1
# 启动相机,此时焦点在相机界面
Start-Process microsoft.windows.camera:
# 等待3s
Start-Sleep -s 3
# 模拟按键Space开始录像
[System.Windows.Forms.SendKeys]::SendWait(" ")
# 等待录像 RecordTime 秒
Start-Sleep -s $RecordTime
# 模拟按键Space停止录像
[System.Windows.Forms.SendKeys]::SendWait(" ")
# 等待3s
# Start-Sleep -s 3
# 关闭相机应用
# Stop-Process -Name WindowsCamera
编写调用该PowerShell的py脚本。
import subprocess
# 输入你上面编写的脚本路径
power_shell_script_path = "你的powershell脚本路径"
process = subprocess.Popen(["powershell", power_shell_script_path])
然后再用Powershell,cd到你的py脚本路径,用python运行该py脚本
注意:必须使用Powershell才能运行ps1脚本。