我正在尝试使用win32 API SendMessage复制活动窗口中的选定文本 如下
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, out int wParam, out int lParam);
int start,next;
SendMessage(activeWindowHandle, 0xB0, out start, out next);
返回所选文本的开始和结束字符位置。 这在记事本或任何System.Windows.Forms.TextBox中都可以正常工作。 但是为System.Windows.Forms.RichTextBox调用它会返回少一个字符。 谁知道为什么?以及如何解决这个问题。
答案 0 :(得分:-1)
SendMessage实际应该是
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
wParam和lParam实际上是输入,而不是输出。因此,你发送垃圾,幸运地得到回报。