public String readString(HKey hk, String key, String valueName, String charsetName) throws RegistryException {
		try {
			return ReflectedMethods.readString(hk.root(), hk.hex(), key, valueName, charsetName);
		} catch (Exception e) {
			throw new RegistryException("Cannot read " + valueName + " value from key " + key, e);
		}
	}
public String readString ( HKey hk , String key , String valueName , String charsetName ) throws RegistryException { try { return ReflectedMethods . readString ( hk . root ( ) , hk . hex ( ) , key , valueName , charsetName ) ; } catch ( Exception e ) { throw new RegistryException ( "Cannot read " + valueName + " value from key " + key , e ) ; } }
Read a value from key and value name

@param hk the HKEY
@param key the key
@param valueName the value name
@param charsetName which charset to use
@return String value
@throws RegistryException when something is not right