windirs

A safe wrapper around SHGetKnownFolderPath

3 releases (stable)

1.0.1 Mar 6, 2021
0.1.0 Mar 6, 2021

#168 in Windows APIs

Download history 383/week @ 2024-07-27 407/week @ 2024-08-03 463/week @ 2024-08-10 458/week @ 2024-08-17 482/week @ 2024-08-24 399/week @ 2024-08-31 336/week @ 2024-09-07 376/week @ 2024-09-14 172/week @ 2024-09-21 272/week @ 2024-09-28 266/week @ 2024-10-05 352/week @ 2024-10-12 351/week @ 2024-10-19 417/week @ 2024-10-26 258/week @ 2024-11-02 196/week @ 2024-11-09

1,283 downloads per month
Used in 7 crates (via pathos)

Apache-2.0 OR MIT

12KB
354 lines

windirs

Documentation

A safe wrapper around SHGetKnownFolderPath.

Usage

use windirs::{Error, FolderId, get_known_folder};

let local_app_data_path = match get_known_folder(FolderId::LocalAppData) {
    Ok(path) => path,
    Err(err) => match err {
        // Some folder ids point to virtual paths, so, yeah.
        Error::Virtual => panic!(),
        // When no folder is found.
        Error::NotFound => panic!(),
        // Can occur for a variety of reasons, such as this folder id being unknown to this OS.
        Error::InvalidArg(io_error) => panic!(),
        // Any other potential OS error that could happen, but is not defined by the API.
        Error::Other(io_error) => panic!(),
    }
}

let user_home_path = get_known_folder(FolderId::Profile).unwrap();

License

This project is licensed under either of

at your option.

Dependencies

~225KB