窗口
用于显示停靠窗口和消息框等的 API 集合。
// Retrives the API instance.
IRCXWindowAPI? api = Main.GetAPI<IRCXWindowAPI>();
// Show message box.
var response = api?.ShowMessageBox(
new RCXCaption(Main.CommonId, Caption.ExtensionName),
new RCXCaption("Are you OK?"),
IRCXWindowAPI.ButtonType.Yes_No,
IRCXWindowAPI.IconType.Question
);
if (response == IRCXWindowAPI.ResponseType.OK)
{
// Process when the response is OK.
}
还提供用于托管 WPF 的 WebView2 控件的停靠窗口 API。
- 可以处理以下 URI。
- 外部 (互联网、内联网) 网站
- 部署在运行 RC+ 的 PC 本地的静态网站
- 也可以启动专用的 HTTP 服务器,以实现 JavaScript 模块的动态导入。
- 在运行 RC+ 的 PC 本地运行的 Web 应用程序
- 可以指定应用程序的启动命令 (如 node) 以及参数。
- 作为参数,如果传递 ${port}、${lang},则分别会替换为端口号 (自动分配)、显示语言名称。
- 可以指定应用程序的启动命令 (如 node) 以及参数。
- 可以使用 Web 技术 (HTML、CSS、JavaScript 等) 实现功能。
- 窗口关闭、内容保存时执行脚本
- 内容编辑
- 获取选中的字符串并传送到剪贴板
- 发送与编辑菜单对应的消息 ("RCX.Clear", "RCX.Paste", "RCX.SelectAll", "RCX.Undo", "RCX.Redo")
- 通过F10键发送与帮助显示对应的消息 ("RCX.ShowHelp")
- 创建主机对象后,可以与 C# 端进行交互。
- 也可以使用实现了以下函数的内置主机对象 chrome.webview.hostObjects.BuiltinBridge。
- string GetCaption(int number): 获取指定编号的标题字符串。
- string ReadConfiguration(bool global): 以 Base64 编码字符串形式读取 Extension 的设置数据。
- string WriteConfiguration(bool global): 以 Base64 编码字符串形式写入 Extension 的设置数据。
- 当 global 标志为 true 时,设置数据在 Windows 登录用户间共享;为 false 时,则按登录用户分别存储。
- 也可以使用实现了以下函数的内置主机对象 chrome.webview.hostObjects.BuiltinBridge。
// Retrives the API instance.
IRCXWindowAPI? api = Main.GetAPI<IRCXWindowAPI>();
if (api != null)
{
// Show "Epson Global Portal" site in a docking window
var webVewInfo = new IRCXWindowAPI.WebViewInfo(
(_, _, _) => new Uri("https://epson.com/"),
Id,
$"{Id}.External",
new RCXCaption(CommonId, Caption.WindowTitle_External),
Main.CommonIcon
);
await api.ShowDockingWebViewWindowAsync(webViewInfo).ConfigureAwait(true);
}