El resultado de todo esto es bastante código, un Type para representar una sección INI, otro Type para representar una llave de una sección INI, etc, pero solo es necesario copiar y pegar todo el código que he desarrollado, ya que su utilización es tan simple como lo que voy a mostrar a continuación...
Ejemplo de uso para crear un INI con una sección y un valor booleano:
Código
Dim ini As New IniManager("C:\File.ini", Encoding.Default) With ini .Clear() .Sections.Add("SectionName") .Sections("SectionName").Keys.Add("KeyName", value:="", comment:="Commentary") .Sections("SectionName").Keys("KeyName").Value = "True" .Save() End With Console.WriteLine(ini.ToString)
Para obtener el valor, lo hariamos así:
Código
Dim setting As Boolean = CBool(ini.Sections("SectionName").Keys("KeyName").Value)
Tiene métodos de búsqueda de secciones y llaves, y demás.
IniSection, representa una sección INI:
http://pastebin.com/8mJUZ2Nb
IniKey, representa una llave INI:
http://pastebin.com/eE1ZSnFG
IniSectionCollection, representa una colección de secciones INI:
http://pastebin.com/jcFJ0yYd
IniKeyCollection, representa una colección de llaves INI:
http://pastebin.com/CLfBtB1h
IniManager, lo más importante, la class que administra de manera abstracta los Types mencionados para la manipulación de un archivo INI:
http://pastebin.com/xgy93Saq
Espero que a alguien más le sirva.
Saludos!