API-Funktionen liefern Zeichenketten zurück, die nur zum Teil mit Informationen aufgefüllt sind. Wie kann ich aus diesen Zeichenketten das tatsächliche Ergebnis abspalten?
<DllImport("kernel32.dll", SetLastError:=True)> _ Private Shared Function GetPrivateProfileString(ByVal lpAppName As String, _ ByVal lpKeyName As String, _ ByVal lpDefault As String, _ ByVal lpReturnedString As StringBuilder, _ ByVal nSize As Integer, _ ByVal lpFileName As String) As Integer End Function
ist auch schön zu sehen, dass viele dieser Funktion freundlicherweise die Länge der gültigen Zeichen zurückgeben.
Da .Net Zeichenketten Unicode strings sind und API-Funktionen (nebenbei: welche Applikation(en)?) möglicherweise anders kodierte Zeichenketten liefern, würde ich mir zunächst Gedanken um eine eventuelle Umkodierung machen. Wenn das gelieferte Material wirklich aus Zeichenketten (und nicht aus binären Strukturen) besteht und die interessanten Teile anhand ihrer Position bestimmt werden können, bietet sich ein Ausschneiden mit Left, Mid und Right und ein Nacharbeiten mit Trim an. Wenn die Ergebnisse nicht an festen Stellen stehen, muss man nach geeigneten Markern suchen. Dazu kann man InStr oder Reguläre Ausdrücke benutzen.