先看代码:
[DllImport("user32", CharSet = CharSet.Auto)]
private static extern IntPtr SendMessage(HandleRef hWnd, int msg, int wParam, ref PARAFORMAT2 lParam);
-----------------------------------------------------------
[DllImport("user32", CharSet = CharSet.Auto)]
private static extern IntPtr SendMessage(HandleRef hWnd, int msg, int wParam, ref CHARFORMAT2 lParam);
上面那个是设置段落格式用,下面的是设置字体格式。如果我只设置段落或只设置字体,那好办。问题是两者我都需要设置,这么一来SendMessage就"分身乏术"了。我该怎么办呢?
[DllImport("user32", CharSet = CharSet.Auto)]
private static extern IntPtr SendMessage(HandleRef hWnd, int msg, int wParam, ref PARAFORMAT2 lParam);
-----------------------------------------------------------
[DllImport("user32", CharSet = CharSet.Auto)]
private static extern IntPtr SendMessage(HandleRef hWnd, int msg, int wParam, ref CHARFORMAT2 lParam);
上面那个是设置段落格式用,下面的是设置字体格式。如果我只设置段落或只设置字体,那好办。问题是两者我都需要设置,这么一来SendMessage就"分身乏术"了。我该怎么办呢?
private static extern IntPtr SendMessage(HandleRef hWnd, int msg, int wParam, ref PARAFORMAT2 lParam);
-----------------------------------------------------------
[DllImport("user32", CharSet = CharSet.Auto,EntryPoint="SendMessage")]
private static extern IntPtr SendMessage2(HandleRef hWnd, int msg, int wParam, ref CHARFORMAT2 lParam); 这样不就行了。
private static extern IntPtr SendMessage(HandleRef hWnd, int msg, int wParam, ref PARAFORMAT2 lParam);
-----------------------------------------------------------
[DllImport("user32", CharSet = CharSet.Auto,EntryPoint="SendMessage")]
private static extern IntPtr SendMessage2(HandleRef hWnd, int msg, int wParam, ref CHARFORMAT2 lParam); 这样不就行了。
参数类型都不一样相当于一个重载啊.
当然手动设置EntryPoint也不错了.