public boolean writeStringValue(String key, String valueName, String value) {
		try {
			OpenResult openResult = openKey(key, ALL_ACCESS);
			if (openResult.mSuccess) {
				if (METHOD_SET_VALUE_EX == null) {
					METHOD_SET_VALUE_EX = getMethod(mRoot.getClass(), "WindowsRegSetValueEx", int.class, byte[].class, byte[].class);
				}
				METHOD_SET_VALUE_EX.invoke(mRoot, new Object[] { openResult.mHandle, toCstr(valueName), toCstr(value) });
				closeKey(openResult.mHandle);
				return true;
			}
		} catch (Exception exception) {
			Log.error(exception);
		}
		return false;
	}