#parser-writer #link #shortcut #shell #write #windows #os

lnk

A Rust library to parse and write Windows shortcut files (.lnk)

7 releases (4 breaking)

0.5.1 Jan 11, 2023
0.5.0 Jan 11, 2023
0.4.1 May 16, 2022
0.3.0 Nov 9, 2020
0.1.0 Oct 29, 2019

#317 in Date and time

Download history 113/week @ 2024-11-13 164/week @ 2024-11-20 122/week @ 2024-11-27 99/week @ 2024-12-04 154/week @ 2024-12-11 125/week @ 2024-12-18 90/week @ 2024-12-25 177/week @ 2025-01-01 236/week @ 2025-01-08 153/week @ 2025-01-15 128/week @ 2025-01-22 118/week @ 2025-01-29 183/week @ 2025-02-05 294/week @ 2025-02-12 206/week @ 2025-02-19 319/week @ 2025-02-26

1,027 downloads per month
Used in 6 crates

MIT license

99KB
1.5K SLoC

Shell Link parser and writer for Rust

Works on any OS - although only really useful in Windows, this library can parse and write .lnk files, a shell link, that can be understood by Windows.

To get started, see the docs.rs documentation.


lib.rs:

Shell Link parser and writer for Rust.

Works on any OS - although only really useful in Windows, this library can parse and write .lnk files, a shell link, that can be understood by Windows.

To get started, see the ShellLink struct.

The full specification of these files can be found at Microsoft's Website.

Read Example

A simple example appears as follows:

use lnk::ShellLink;
// ...
let shortcut = lnk::ShellLink::open("tests/test.lnk").unwrap();
println!("{:#?}", shortcut);

Write Example

A simple example appears as follows:

use lnk::ShellLink;
// ...
ShellLink::new_simple(std::path::Path::new(r"C:\Windows\System32\notepad.exe"));

IMPORTANT!: Writing capability is currently in a very early stage and probably won't work!

Dependencies

~3MB
~62K SLoC