Grande CV, valeu pela ajuda...
Só que não vai adiantar, já que ele não acessa o registro desde a raiz dele.
Mas eu achei esse pacote aqui, pra quem quiser fazer isso: com.ice.jni.registry na pagina Giant Java Tree
E aqui vai um exemplinho que eu fiz só pra ver se funciona mesmo:
import com.ice.jni.registry.NoSuchKeyException;
import com.ice.jni.registry.Registry;
import com.ice.jni.registry.RegistryException;
import com.ice.jni.registry.RegistryKey;
public class TesteRegistry {
public static void main(String args[]) {
RegistryKey local, uninstall;
local = Registry.HKEY_LOCAL_MACHINE;
try {
uninstall = local.openSubKey("Software\Microsoft\Windows\CurrentVersion\Uninstall");
} catch (NoSuchKeyException e) {
e.printStackTrace();
return;
} catch (RegistryException e) {
e.printStackTrace();
return;
}
System.out.println(local.getFullName());
System.out.println(uninstall.getFullName());
}
}
Lembrem-se de colocar a dll na mesma pasta onde você for rodar, ou no path.
Um outro modo que descobri nas minhas pesquisas é usar o comando
regedit /e exportado.reg "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionUninstall"
E daí fazer um parser no java pra ler o arquivo exportado.
^__^