KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jinterop > dcom > test > TestWinReg


1 package org.jinterop.dcom.test;
2
3 import java.net.UnknownHostException JavaDoc;
4
5 import org.jinterop.dcom.common.IJIAuthInfo;
6 import org.jinterop.dcom.common.JIDefaultAuthInfoImpl;
7 import org.jinterop.dcom.common.JIException;
8 import org.jinterop.winreg.IJIWinReg;
9 import org.jinterop.winreg.JIPolicyHandle;
10 import org.jinterop.winreg.JIWinRegFactory;
11
12
13 /**
14  *
15  * Make sure you have Administrator level access on the target machine and if your password/username has special
16  * characters , please use the URLEncoder before passing them to WinReg example.
17  *
18  */

19 public class TestWinReg {
20
21     public static void main(String JavaDoc[] args) {
22     
23         if (args.length < 5)
24         {
25             System.out.println("Please provide address domain username password keyname");
26             return;
27         }
28         IJIAuthInfo authInfo = new JIDefaultAuthInfoImpl(args[1],args[2],args[3]);
29         
30     
31         
32         try {
33             IJIWinReg registry = JIWinRegFactory.getSingleTon().getWinreg(authInfo,args[0],true);
34             //Open HKLM
35
JIPolicyHandle policyHandle = registry.winreg_OpenHKLM();
36             //Open a key here
37
JIPolicyHandle policyHandle2 = registry.winreg_OpenKey(policyHandle,"Software\\Classes",IJIWinReg.KEY_ALL_ACCESS);
38             
39             System.out.println("Printing first 1000 entries under \"Software\\Classes\"...");
40             for (int i = 0;i < 1000;i++)
41             {
42                 String JavaDoc[] values = registry.winreg_EnumKey(policyHandle2,i);
43                 System.out.println(values[0] + " , " + values[1]);
44             }
45             
46             System.out.println("****************************************************");
47             System.out.println("\nCreating Key " + args[4] + " under \"Software\\Classes\"...");
48             String JavaDoc key = args[4].trim();
49             JIPolicyHandle policyHandle3 = registry.winreg_CreateKey(policyHandle2,key,IJIWinReg.REG_OPTION_NON_VOLATILE,IJIWinReg.KEY_ALL_ACCESS);
50             
51             System.out.println("Setting values to " + key);
52             registry.winreg_SetValue(policyHandle3,"j-Interop_None");
53             registry.winreg_SetValue(policyHandle3,"j-Interop_String",".".getBytes(),false,false);
54             Object JavaDoc[] values1 = registry.winreg_QueryValue(policyHandle3,"j-Interop_String",1024);
55             registry.winreg_SetValue(policyHandle3,"j-Interop_String_Ex","%PATH%\\Test12345".getBytes(),false,true);
56             registry.winreg_SetValue(policyHandle3,"j-Interop_Bin","123456789".getBytes(),true,false);
57             registry.winreg_SetValue(policyHandle3,"j-Interop_Dword",100);
58             
59             String JavaDoc[] strings = {"123", "456", "6789", "10","11"};
60             byte[][] data = new byte[strings.length][];
61             for (int i = 0; i < strings.length;i++)
62             {
63                 data[i] = strings[i].getBytes();
64             }
65             
66             registry.winreg_SetValue(policyHandle3,"j-Interop_Multi_sz",data);
67             
68             for (int i = 0; i < 6;i++)
69             {
70                 Object JavaDoc[] values = registry.winreg_EnumValue(policyHandle3,i);
71                 System.out.println(values[0] + " , " + values[1]);
72             }
73             
74             System.out.println("Retrieving j-Interop_String_Ex value " + key);
75             Object JavaDoc[] values = registry.winreg_QueryValue(policyHandle3,"j-Interop_String_Ex",1024);
76             System.out.println(new String JavaDoc((byte[])values[1]));
77             
78             System.out.println("Deleting j-Interop_Bin value");
79             registry.winreg_DeleteKeyOrValue(policyHandle3,"j-Interop_Bin",false);
80             
81             System.out.println("Saving the " + key + " in a file to local server location as c:\\temp\\j-Interop");
82             registry.winreg_SaveFile(policyHandle3,"c:\\temp\\j-Interop");
83             
84             registry.winreg_CloseKey(policyHandle3);
85             registry.winreg_CloseKey(policyHandle2);
86             registry.winreg_CloseKey(policyHandle);
87         
88             
89 //
90
// //Open HKCR
91
// policyHandle = registry.winreg_OpenHKCR();
92
//
93
// policyHandle2 = registry.winreg_OpenKey(policyHandle,"ClSID",IJIWinReg.KEY_ALL_ACCESS);
94
// policyHandle3 = registry.winreg_CreateKey(policyHandle2,"j-Interop007",IJIWinReg.REG_OPTION_NON_VOLATILE,IJIWinReg.KEY_ALL_ACCESS);
95
// registry.winreg_CloseKey(policyHandle3);
96
// registry.winreg_CloseKey(policyHandle2);
97
// registry.winreg_CloseKey(policyHandle);
98
//
99
// //Open HKCU
100
// policyHandle = registry.winreg_OpenHKCU();
101
//
102
// policyHandle2 = registry.winreg_OpenKey(policyHandle,"Software\\Classes",IJIWinReg.KEY_ALL_ACCESS);
103
// registry.winreg_CloseKey(policyHandle2);
104
// registry.winreg_CloseKey(policyHandle);
105
//
106
// //Open HKU
107
// policyHandle = registry.winreg_OpenHKU();
108
//
109
// policyHandle2 = registry.winreg_OpenKey(policyHandle,".DEFAULT",IJIWinReg.KEY_ALL_ACCESS);
110
// registry.winreg_CloseKey(policyHandle2);
111
// registry.winreg_CloseKey(policyHandle);
112

113         
114         } catch (JIException e) {
115             // TODO Auto-generated catch block
116
e.printStackTrace();
117         } catch (UnknownHostException JavaDoc e) {
118             // TODO Auto-generated catch block
119
e.printStackTrace();
120         }
121         
122         
123         
124     }
125
126 }
127
Popular Tags