diff options
Diffstat (limited to 'third_party/rust/winreg/examples/enum.rs')
-rw-r--r-- | third_party/rust/winreg/examples/enum.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/third_party/rust/winreg/examples/enum.rs b/third_party/rust/winreg/examples/enum.rs new file mode 100644 index 0000000000..dd1a78d870 --- /dev/null +++ b/third_party/rust/winreg/examples/enum.rs @@ -0,0 +1,27 @@ +// Copyright 2015, Igor Shaula +// Licensed under the MIT License <LICENSE or +// http://opensource.org/licenses/MIT>. This file +// may not be copied, modified, or distributed +// except according to those terms. +extern crate winreg; +use std::io; +use winreg::enums::*; +use winreg::RegKey; + +fn main() -> io::Result<()> { + println!("File extensions, registered in system:"); + for i in RegKey::predef(HKEY_CLASSES_ROOT) + .enum_keys() + .map(|x| x.unwrap()) + .filter(|x| x.starts_with('.')) + { + println!("{}", i); + } + + let system = RegKey::predef(HKEY_LOCAL_MACHINE).open_subkey("HARDWARE\\DESCRIPTION\\System")?; + for (name, value) in system.enum_values().map(|x| x.unwrap()) { + println!("{} = {:?}", name, value); + } + + Ok(()) +} |