9个版本
0.1.8 | 2022年5月27日 |
---|---|
0.1.7 | 2021年10月19日 |
0.1.6 | 2021年8月10日 |
#63 in Windows API
6,369 每月下载量
用于 2 crates
55KB
937 行
mslnk
Rust实现用于创建Windows快捷方式(ms shell .lnk),理论上支持Windows 7/8/10/11。已在Windows 10和11上测试。
用法
将此内容添加到您的 Cargo.toml
[dependencies]
mslnk = "0.1.8"
创建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();
错误处理
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)?;
}
完全用Rust编写,无外部命令,支持Unicode字符串,例如中文字符。大部分代码来自lnk-rs用于解析和写入lnk文件。
参考
- Microsoft Shell lnk文档点击此处 ms-shllink
- 关于linktarget结构的更多详细信息 ITEMIDLIST
- 关于ITEMIDLIST的示例请参阅 LNKとShell item
依赖关系
~205–310KB