跳到内容
Tauri

单实例

使用单实例插件确保您的 Tauri 应用一次只运行一个实例。

支持的平台

此插件需要 Rust 版本至少为 1.77.2

平台 级别 注释
windows
linux
macos
android
ios

设置

安装单实例插件以开始使用。

使用您的项目包管理器添加依赖

npm run tauri add single-instance

用法

插件已安装并初始化,应立即正常运行。尽管如此,我们还可以使用 `init()` 方法增强其功能。

插件 `init()` 方法接受一个闭包,当新的应用实例启动但被插件关闭时,该闭包会被调用。该闭包有三个参数

  1. app: 应用程序的 AppHandle
  2. args: 用户传递的参数列表,用于启动这个新实例。
  3. cwd: 当前工作目录表示启动新应用程序实例的目录。

因此,闭包应如下所示

.plugin(tauri_plugin_single_instance::init(|app, args, cwd| {
// Write your code here...
}))

聚焦于新实例

默认情况下,当您在应用程序已运行时启动新实例时,不会采取任何操作。要在用户尝试打开新实例时聚焦运行实例的窗口,请按如下方式更改回调闭包

src-tauri/src/lib.rs
use tauri::{AppHandle, Manager};
pub fn run() {
let mut builder = tauri::Builder::default();
#[cfg(desktop)]
{
builder = builder.plugin(tauri_plugin_single_instance::init(|app, args, cwd| {
let _ = app.get_webview_window("main")
.expect("no main window")
.set_focus();
}));
}
builder
.run(tauri::generate_context!())
.expect("error while running tauri application");
}

© 2025 Tauri 贡献者。CC-BY / MIT