OemToChar (user32)
Last changed: -80.92.126.14

.
Summary

C# Signature:

[DllImport("user32.dll")]
static extern bool OemToChar(IntPtr lpszSrc, [Out] StringBuilder lpszDst);

VB Signature:

     <DllImport("user32.dll", _
    EntryPoint:="OemToChar", _
    SetLastError:=True, _
    CharSet:=CharSet.Unicode, _
    ExactSpelling:=True, _
    PreserveSig:=True, _
    CallingConvention:=CallingConvention.Winapi)> _
    Private Shared Function CharToOem( _
    ByVal lpszSrc As String, _
    ByVal lpszDst As StringBuilder) As Boolean
    End Function

User-Defined Types:

None.

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

C# Sample:

    [DllImport("user32.dll")]
    static extern bool OemToCharA(char[] lpszSrc, [Out] StringBuilder lpszDst);
    public static string OemToChar1(string str)
    {
        if( string.IsNullOrEmpty(str) ) return str;    
        StringBuilder strBuilder = new StringBuilder(str.Length);    
        OemToCharA(str.ToCharArray(), strBuilder);    
        return strBuilder.ToString();
    }

VB Sample:

    Private Class LibWrap
    Declare Auto Function OemToChar Lib "user32" ( _
         <[In](), Out()> ByVal lpszSrc As String, ByVal lpszDst As System.Text.StringBuilder) As Boolean
    End Class

    Public Function OemToChar(ByVal lpszSrc As String) As String
    Dim lpszDst As New System.Text.StringBuilder
    Try
        LibWrap.OemToChar(lpszSrc, lpszDst)
        Return lpszDst.ToString
    Catch ex As Exception
        Return System.String.Empty
    End Try
    End Function

Alternative Managed API:

Do you know one? Please contribute it!

Documentation
OemToChar on MSDN