![](/img/trans.png)
[英]C# How to catch WIN32 0XFFFF exception when calling P/Invoke Sendmessage
[英]Calling Win32 API SendMessage in C# richtextbox to copy selected text returns one character less
我正在嘗試使用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調用此方法將少返回一個字符。 有人知道為什么嗎? 以及如何解決此問題。
SendMessage實際上應該是
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
wParam和lParam實際上是輸入,而不是輸出。 因此,您正在發送垃圾,很幸運能得到一些回報。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.