WritePrivateProfileString (kernel32)
Last changed: -142.166.37.111

.
Summary

C# Signature:

[DllImport("kernel32.dll", CharSet=CharSet.Unicode, SetLastError=true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool WritePrivateProfileString(string lpAppName,
   string lpKeyName, string lpString, string lpFileName);

VB.NET Signature:

    <DllImport("kernel32.dll", SetLastError:=True)> _
Private Shared Function WritePrivateProfileString(ByVal lpAppName As String, _
                        ByVal lpKeyName As String, _
                        ByVal lpString As String, _
                        ByVal lpFileName As String) As Boolean
    End Function

VB.NET Alternative Signature:

    <DllImport("kernel32.dll", SetLastError:=True)> _
Private Declare Auto Function WritePrivateProfileString Lib "kernel32" (ByVal lpAppName As String, _    
                        ByVal lpKeyName As String, _
                        ByVal lpString As String, _
                        ByVal lpFileName As String) As Boolean

C++ Signature:

[DllImport("KERNEL32.DLL", CharSet=CharSet::Auto, EntryPoint="WritePrivateProfileString")]
static Boolean WritePrivateProfileString(String^ lpAppName, String^ lpKeyName, String^ lpString, String^ lpFileName);

User-Defined Types:

None.

Notes:

If StringToWrite is NULL, the line indicated by SectionName and KeyName will be deleted.

If KeyName is NULL, the entire section indicated by SectionName and all keys and values therein will be deleted.

Tips & Tricks:

Please add some!

Sample Code:

C# Sample:

bool WriteINI(string SectionName, string KeyName, string StringToWrite, string INIFileName)

{

    bool Return;
    Return = WritePrivateProfileString(SectionName,
                       KeyName,
                       StringToWrite,
                       INIFileName);
    return Return;

}

VB.NET Sample

Dim bres As Boolean
bres = WritePrivateProfileString("AppName", "KeyName", "TestValue", "c:\test.ini")
Console.WriteLine("WritePrivateProfileString returned : " & bres.ToString())

VB.NET Alternative Sample

Public Function WriteIni(ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFilename As String) As Boolean
     Try

     WritePrivateProfileString(lpAppname, lpKeyName, lpString, lpFilename)
     Return True
     Exit Try

     Catch ex As Exception

     Return False

     End Try
End Function

PowerShell Sample

     http://gallery.technet.microsoft.com/scriptcenter/Edit-old-fashioned-INI-f8fbc067

Alternative Managed API:

Do you know one? Please contribute it!

Documentation