folder_background/
folder_background.rs1use win_context_menu::{init_com, ContextMenu, ShellItems};
2
3fn main() -> win_context_menu::Result<()> {
4 let _com = init_com()?;
5
6 let folder = std::env::args()
7 .nth(1)
8 .unwrap_or_else(|| r"C:\Windows".to_string());
9
10 println!("Showing background context menu for folder: {}", folder);
11
12 let items = ShellItems::folder_background(&folder)?;
13 let menu = ContextMenu::new(items)?;
14
15 match menu.show()? {
16 Some(selected) => {
17 println!(
18 "Selected: {} (verb: {:?})",
19 selected.menu_item().label,
20 selected.menu_item().command_string
21 );
22 selected.execute()?;
23 }
24 None => println!("No item selected."),
25 }
26
27 Ok(())
28}