001 /* 002 * Copyright 2005,2009 Ivan SZKIBA 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.ini4j.tutorial; 017 018 import org.ini4j.Reg; 019 020 import static org.junit.Assert.*; 021 022 import java.io.File; 023 import java.io.IOException; 024 025 //<editor-fold defaultstate="collapsed" desc="apt documentation"> 026 //| 027 //| ------------------------- 028 //| Windows Registry Tutorial 029 //| 030 //|Windows Registry Tutorial - Read/Write windows registry 031 //| 032 //| Yes, it is possible now to read/write registry from java programs 033 //| without native (JNI) code ! 034 //| 035 //</editor-fold> 036 public class WindowsRegistryTutorial extends AbstractTutorial 037 { 038 public static final String FILENAME = "../sample/dwarfs.reg"; 039 040 public static void main(String[] args) throws Exception 041 { 042 if (Reg.isWindows()) 043 { 044 new WindowsRegistryTutorial().run(filearg(args)); 045 } 046 } 047 048 @Override protected void run(File arg) throws Exception 049 { 050 sample01(); 051 sample02(); 052 sample03(); 053 } 054 055 //| 056 //|* Write 057 //| 058 //| Lets write something to registry 059 //{ 060 void sample01() throws IOException 061 { 062 Reg reg = new Reg(); 063 Reg.Key key = reg.add("HKEY_CURRENT_USER\\hello"); 064 065 key.put("world", "Hello World !"); 066 reg.write(); 067 //} 068 //| This code will create a "hello" key in HKEY_CURRENT_USER hive, and 069 //| put "Hello World !" with name "world". 070 } 071 072 //| 073 //|* Read 074 //| 075 //| Lets read something from Control Panel settings... 076 //{ 077 void sample02() throws IOException 078 { 079 Reg reg = new Reg("HKEY_CURRENT_USER\\Control Panel"); 080 Reg.Key cp = reg.get("HKEY_CURRENT_USER\\Control Panel"); 081 Reg.Key sound = cp.getChild("Sound"); 082 String beep = sound.get("Beep"); 083 084 //} 085 //| 086 } 087 088 //| 089 //|* Create environment variable 090 //| 091 //| Lets create a new environment variable under current users environment.... 092 //{ 093 void sample03() throws IOException 094 { 095 Reg reg = new Reg(); 096 Reg.Key env = reg.add("HKEY_CURRENT_USER\\Environment"); 097 098 env.put("SAMPLE_HOME", "c:\\sample"); 099 reg.write(); 100 //} 101 //| Thats it ! Now your environment contains variable SAMPLE_HOME ! Unfortunetly 102 //| you have to restart Windows to see this variable.... but hey, we crated new 103 //| environment variable from java without any native code ! 104 } 105 }