Expand description

Parse windows .lnk files using only safe rust. Windows lnk files describe links to data objects as defined by this specification.


You can process the Lnk data from a memory buffer that implements std::io::Read.

use parselnk::Lnk;
use std::convert::TryFrom;

let mut lnk_data: Vec<u8> = Vec::new();
// read your link into `lnk_data` here...
let lnk = Lnk::try_from(lnk_data);

Or you can process any Lnk on disk.

use parselnk::Lnk;
use std::convert::TryFrom;

let path = std::path::Path::new("c:\\users\\me\\shortcut.lnk");

let lnk = Lnk::try_from(path).unwrap();


pub use extra_data::*;
pub use header::*;
pub use link_info::*;
pub use string_data::*;


Error types used for parselnk.

Types defining the ExtraData type.

Definitions for the
ShellLinkHeader type.

Definitions for the LinkInfo type.

Definitions for the LinkTargetIdList type.

Definitions for the StringData type.


Represents a windows .lnk file

Type Definitions

Result type wrapping around parselnk::error::Error