#thumbnail #preview #windows-file #windows

thumbcache

Get file thumbnail on Windows

3 unstable releases

0.2.0 Sep 27, 2024
0.1.1 Aug 27, 2024
0.1.0 Aug 27, 2024

#5 in #thumbnail

Download history 153/week @ 2024-08-21 102/week @ 2024-08-28 15/week @ 2024-09-11 14/week @ 2024-09-18 162/week @ 2024-09-25 38/week @ 2024-10-02

216 downloads per month

MIT license

6KB
61 lines

thumbcache

Uses Windows thumbcache to get bmp preview for a file.

Usage

When trying to get preview from file that is not an image (.zip or .exe) will throw error. May also throw error if preview does not exists. So it's better to check for errors rather than relying on .unwrap() or ? syntax.

use std::io::{Error, Write};

pub fn main() -> Result<(), Error> {
  let bmp = thumbcache::get_bmp(r"C:\path-to-file.jpeg", 96, 96)?;
  
  let mut file_out = std::fs::File::create("./out.bmp")?;
  let _ = file_out.write_all(&bmp);
  
  Ok(())
}

Sources

When I was writing this thing I used sources below. Also, I have used ChatGPT because I am not a Rust developer in first place and not very familiar with C or WinAPI. Worth mentioning in my opinion.

https://stackoverflow.com/questions/14207618/get-bytes-from-hbitmap

https://stackoverflow.com/questions/21751747/extract-thumbnail-for-any-file-in-windows

Dependencies

~127MB
~2M SLoC