#windows #shortcut #lnk

mslnk

create windows shortcuts (lnk files)

9 releases

0.1.8 May 27, 2022
0.1.7 Oct 19, 2021
0.1.6 Aug 10, 2021

#67 in Windows APIs

Download history 63/week @ 2023-12-07 124/week @ 2023-12-14 91/week @ 2023-12-21 74/week @ 2023-12-28 73/week @ 2024-01-04 87/week @ 2024-01-11 75/week @ 2024-01-18 76/week @ 2024-01-25 77/week @ 2024-02-01 95/week @ 2024-02-08 148/week @ 2024-02-15 158/week @ 2024-02-22 135/week @ 2024-02-29 158/week @ 2024-03-07 161/week @ 2024-03-14 137/week @ 2024-03-21

616 downloads per month
Used in 2 crates

MIT license

55KB
937 lines

mslnk

Rust implementation to create Windows shortcut (ms shell .lnk),theoretically support WIndows 7/8/10/11. Tested on Windows 10,11.

Usage

Add this to your Cargo.toml:

[dependencies]
mslnk = "0.1.8"

examole to create lnk

use mslnk::ShellLink;

let target = r"C:\Users\Admin\Desktop\qq aa\qiuqiu.exe";
let lnk = r"C:\Users\Admin\Desktop\qq.lnk";
let sl = ShellLink::new(target).unwrap();
sl.create_lnk(lnk).unwrap();

Error handling

use mslnk::{ShellLink,MSLinkError};

fn main()->Result<(),ApplicationError> {
    let target = r"C:\Users\Admin\Desktop\qq aa\qiuqiu.exe";
    let lnk = r"C:\Users\Admin\Desktop\qq.lnk";
    let sl = ShellLink::new(target)?;
    sl.create_lnk(lnk)?;
}

entirely written in rust,no external command,support unicode string ,such as Chinese characters. Most of code are from lnk-rs for parsing and writing lnk file.

reference

Dependencies

~190–295KB