Ich verwende eine Klasse, die StringHandle
Feld hat, das ist ein IntPtr
Wert, der eine LPCWSTR
in C++ darstellt.make IntPtr in C# .NET zeigen auf Zeichenfolge Wert
internal IntPtr StringHandle; // LPCWSTR
jetzt sagen, dass ich habe einen String: string x = "abcdefg"
Wie kann ich den String Griff verwenden, um den Anfang des String-zu-Punkt, so dass es wie C++ LPCWSTR ist?
Warum möchten Sie das tun? –
Ich arbeite mit Schnittstelle, die nur in nativem Code (C++) existiert, also verwende ich Interops von .NET. Die Klasse, die StringHandle hat, gehört jedoch nicht mir und ich möchte nicht ändern. –
Weil das die Bibliothek ist, mit der er arbeitet. Nicht alles hat einen .NET-Wrapper, und selbst innerhalb des Frameworks kann die Marshal-Klasse einige gute Dienste leisten, wenn Sie mit Windows-Nachrichten auf niedriger Ebene zu tun haben. – KeithS