代わりにLPCTSTRを使用してCStringを必要とするメソッドをPInvokeし、DllImportを設定してLPstr変換を呼び出す方法を知っています。SendMessageを介してC#からMFCに文字列を送信
ただし、LPARAMがIntPtrであるSendMessageではどうすればよいですか?
これは機能しますか?
[DllImport("user32.dll", CharSet = CharSet.Ansi)]
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam,
[MarshalAs(UnmanagedType.LPStr)] String lParam);
最も簡単な解決策は、LPARAMを 'String'として宣言することです:-) –
[IntPtr](http://msdn.microsoft.com/en-us/library/system.intptr.aspx) ? – scottm
@CodyGray別のDllImportメソッドを作成しますか? –