summaryrefslogtreecommitdiffstats
path: root/third_party/rust/winreg/examples/enum.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/winreg/examples/enum.rs')
-rw-r--r--third_party/rust/winreg/examples/enum.rs27
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(())
+}