desktop_app/
desktop_app.rs1fn main() -> Result<(), Box<dyn std::error::Error>> {
2 let app = win_desktop_utils::DesktopApp::with_company("Acme", "Demo Utility")?;
3
4 let _guard = match app.single_instance()? {
5 Some(guard) => guard,
6 None => {
7 println!("{} is already running", app.app_name());
8 return Ok(());
9 }
10 };
11
12 let local_dir = app.ensure_local_data_dir()?;
13 let state_file = local_dir.join("state.txt");
14 std::fs::write(&state_file, "started\n")?;
15
16 let docs_shortcut = local_dir.join("win-desktop-utils docs.url");
17 win_desktop_utils::create_url_shortcut(&docs_shortcut, "https://docs.rs/win-desktop-utils")?;
18
19 println!("app id: {}", app.app_id());
20 println!("local data: {}", local_dir.display());
21 println!("state file: {}", state_file.display());
22 println!("docs shortcut: {}", docs_shortcut.display());
23
24 Ok(())
25}