win_desktop_utils/lib.rs
1//! Windows-first desktop utility helpers for Rust apps.
2//!
3//! This crate provides small helpers for common Windows desktop-app tasks:
4//! opening files and URLs, revealing items in Explorer, sending files to the
5//! Recycle Bin, enforcing single-instance behavior, resolving app-data
6//! directories, and dealing with elevation.
7//!
8//! # Example
9//!
10//! ```
11//! fn main() -> Result<(), win_desktop_utils::Error> {
12//! let path = win_desktop_utils::local_app_data("demo-app")?;
13//! assert!(path.ends_with("demo-app"));
14//! Ok(())
15//! }
16//! ```
17
18pub mod elevation;
19pub mod error;
20pub mod instance;
21pub mod paths;
22pub mod shell;
23
24pub use error::{Error, Result};
25
26pub use elevation::{is_elevated, restart_as_admin};
27pub use instance::{single_instance, InstanceGuard};
28pub use paths::{ensure_local_app_data, ensure_roaming_app_data, local_app_data, roaming_app_data};
29pub use shell::{move_to_recycle_bin, open_url, open_with_default, reveal_in_explorer};