lock 0.1.0

Lock your system. Supports macOS, Linux, and Windows.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use std::process::Command;
use super::FailureReason;

/// Locks Windows system.
/// Returns
///  - FailureReason::CannotExecute if command execution is failed.
pub fn lock_sytem() -> Result<(), FailureReason> {
    let status = Command::new("rundll32.exe")
                         .arg("user32.dll,LockWorkStation")
                         .status()
                         .expect("Failed to execute lock command");

    if !status.success() {
        return Err(FailureReason::CannotExecute);
    }
    Ok(())
}