Hola, hace unos dos meses pregunte en un foro acerca de como obtener el path y la version instalada de oracle en mi maquina atraves de java, y me dijeron acerca de JNI "me parecio dificil", pero despues de tanto vuscar y hacer pruebas, les dejo esto, se puede adaptar a cualquier cosa.
private String execute(String REG_QUERY, String REGSTR_TOKEN)
{
try
{
Process process = Runtime.getRuntime().exec(REG_QUERY);
StreamReader reader = new StreamReader(process.getInputStream());
reader.start();
process.waitFor();
reader.join();
String result = reader.getResult();
int p = result.indexOf(REGSTR_TOKEN);
if (p == -1)
{
return null;
}
return result.substring(p + REGSTR_TOKEN.length()).trim();
}catch (Exception e) {return null;}
}
public void setVersionAndHomeOnWindows()
{
String REGQUERY_UTIL = "reg query ";
String REGSTR_TOKEN = "REG_SZ";
String REG_HOME_NAME = REGQUERY_UTIL +"\"HKEY_LOCAL_MACHINE\\SOFTWARE\\ORACLE\\KEY_OraD b10g_home1\" /v \"ORACLE_HOME_NAME\"";
String REG_HOME = REGQUERY_UTIL +"\"HKEY_LOCAL_MACHINE\\SOFTWARE\\ORACLE\\KEY_OraD b10g_home1\" /v \"ORACLE_HOME\"";
version = execute(REG_HOME_NAME,REGSTR_TOKEN);
home = execute(REG_HOME,REGSTR_TOKEN);
}