Capturar registros do regedit

Estou tentando fazer um sistema que liste todos os programas do computador e encontrei suas informações dentro de duas pastas do regedit. Tem algum comando que possa me retornar as informações dos registros dentro de um txt ou alguma forma de acessar o regedit pelo JAVA?

As duas pastas são:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\

e

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall

uma forma é executar o comand reg com os parametros certos e pegar a resposta

Runtime.getRuntime().exec("reg parametros");

outra forma é usar este codigo ( veja a LICENSE )

http://svn.apache.org/repos/asf/incubator/npanday/trunk/components/dotnet-registry/src/main/java/npanday/registry/impl/WinRegistry.java