You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过自定义URL协议打开Photoshop并同时启动指定CEP扩展?

实现方案

步骤1:修改网页自定义协议链接,携带扩展标识参数

你可以在自定义协议后追加扩展ID参数,用于告知本地处理程序需要启动的目标扩展,修改后的CustomProtocol.html代码如下:

<html>
<script type="text/javascript" src="CustomProtocol.js"></script>

<body>
    Hey, I'm a web page !
    <a href="my-prot://launch?extId=你的扩展ID">Run Photoshop 并打开扩展</a>
</body>
</html>

扩展ID可在扩展目录下的manifest.xml文件中,查找<Extension>标签的Id属性获取,你的扩展已经存放在C:\Program Files\Common Files\Adobe\CEP\extensions路径下,Photoshop可正常识别。

步骤2:修改自定义协议的本地处理逻辑

你之前注册自定义协议时,注册表中关联的是直接启动Photoshop,现在改为关联一个PowerShell脚本,实现启动PS同时触发扩展打开:

  1. 先在本地创建一个脚本文件C:\ps-launcher.ps1,内容如下:
# 接收自定义协议传入的参数
$rawUrl = $args[0]
# 提取扩展ID参数
if ($rawUrl -match 'extId=([^&]+)') {
    $extId = $matches[1]
    # 生成临时JSX脚本,用于通知PS打开指定扩展
    $jsxPath = "$env:TEMP\open-extension.tmp.jsx"
    "try { app.openExtension('$extId') } catch(e) {}" | Out-File $jsxPath -Encoding ASCII
    # 启动Photoshop并自动执行JSX脚本,请替换为你本地实际的Photoshop安装路径
    Start-Process "C:\Program Files\Adobe\Adobe Photoshop 2024\Photoshop.exe" -ArgumentList "/r `"$jsxPath`""
} else {
    # 没有传扩展ID时仅启动PS,请替换为你本地实际的Photoshop安装路径
    Start-Process "C:\Program Files\Adobe\Adobe Photoshop 2024\Photoshop.exe"
}
  1. 修改注册表中自定义协议的关联配置:
    打开注册表编辑器,定位到HKEY_CLASSES_ROOT\my-prot\shell\open\command,将默认值修改为:
powershell.exe -ExecutionPolicy Bypass -File "C:\ps-launcher.ps1" "%1"

验证效果

保存所有修改后,点击网页上的按钮,会触发自定义协议调用PowerShell脚本,自动启动Photoshop并打开你指定的CEP扩展。

内容的提问来源于stack exchange,提问作者Fitspade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 17:45:03