积极答复者
哪们好心人给介绍下SendMessage的WM_SETTEXT?

问题
答案
-
private const int WM_SETTEXT = 0x000C;
是一个常量
'这里是用SendMessage方法在写字板中输入内容的代码片段: private const int WM_SETTEXT = 0x000C; [DllImport("user32.dll")] private static extern IntPtr FindWindow( string lpClassName, string lpWindowName); [DllImport("User32.dll")] private static extern IntPtr FindWindowEx( IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindows); [DllImport("User32.dll")] private static extern Int32 SendMessage( IntPtr hWnd, int Msg, IntPtr wParam, StringBuilder lParam); private void button1_Click(object sender, EventArgs e) { // 返回写字板主窗口句柄 IntPtr hWnd = FindWindow("Notepad", "Untitled - Notepad"); if (!hWnd.Equals(IntPtr.Zero)) { //返回写字板编辑窗口句柄 IntPtr edithWnd = FindWindowEx(hWnd, IntPtr.Zero, "Edit", null); if (!edithWnd.Equals(IntPtr.Zero)) // 发送WM_SETTEXT 消息: "Hello World!" SendMessage(edithWnd, WM_SETTEXT, IntPtr.Zero, new StringBuilder("Hello World!")); } }
算神的博客- 已标记为答案 空山剑雨 2011年7月1日 11:29
全部回复
-
private const int WM_SETTEXT = 0x000C;
是一个常量
'这里是用SendMessage方法在写字板中输入内容的代码片段: private const int WM_SETTEXT = 0x000C; [DllImport("user32.dll")] private static extern IntPtr FindWindow( string lpClassName, string lpWindowName); [DllImport("User32.dll")] private static extern IntPtr FindWindowEx( IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindows); [DllImport("User32.dll")] private static extern Int32 SendMessage( IntPtr hWnd, int Msg, IntPtr wParam, StringBuilder lParam); private void button1_Click(object sender, EventArgs e) { // 返回写字板主窗口句柄 IntPtr hWnd = FindWindow("Notepad", "Untitled - Notepad"); if (!hWnd.Equals(IntPtr.Zero)) { //返回写字板编辑窗口句柄 IntPtr edithWnd = FindWindowEx(hWnd, IntPtr.Zero, "Edit", null); if (!edithWnd.Equals(IntPtr.Zero)) // 发送WM_SETTEXT 消息: "Hello World!" SendMessage(edithWnd, WM_SETTEXT, IntPtr.Zero, new StringBuilder("Hello World!")); } }
算神的博客- 已标记为答案 空山剑雨 2011年7月1日 11:29