请教C# PostMessage发送消息给记事本的问题
写了C#进程间交互的类,目的在于往一个已打开的记事本中写入一句话。
句柄正常取得,却无法将_sendVal显示在记事本中,请高手指教。
class Note
{
[DllImport("user32.dll")]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern IntPtr PostMessage(IntPtr hwnd, int wMsg, IntPtr wParam, string lParam);
[DllImport("User32.dll", EntryPoint = "FindWindow")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
public void SendMsgToNote(string _sendVal)
{
string _parentWindow = "无标题 - Notepad2";
string _class = "Scintilla";
string _control = "";
const int WM_COPYDATA = 0x004A;
IntPtr _hwnd_win;
IntPtr _hwnd_textbox = new IntPtr(0);
_hwnd_win = FindWindow(null, _parentWindow);
_hwnd_textbox = FindWindowEx(_hwnd_win, _hwnd_textbox, _class, _control);
PostMessage(_hwnd_textbox, WM_COPYDATA, IntPtr.Zero, _sendVal);
}
}