C#sendmessage函数
时间: 2023-12-01 15:43:08 浏览: 30
C#中的SendMessage函数是一个在user32.dll中声明的API函数,用于向指定的窗口发送消息。它的语法如下:
```csharp
[DllImport("user32.dll", EntryPoint="SendMessageA")]
public static extern int SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);
```
其中,hwnd是接收消息的窗口句柄,wMsg是消息类型,wParam和lParam是消息参数。SendMessage函数的返回值是消息处理的结果。
以下是一个使用SendMessage函数发送消息的示例:
```csharp
[DllImport("user32.dll", EntryPoint="FindWindow")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", EntryPoint="SendMessage")]
public static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
const int WM_CLOSE = 0x0010;
IntPtr hwnd = FindWindow(null, "Notepad");
SendMessage(hwnd, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
```
这个示例中,我们首先使用FindWindow函数查找名为“Notepad”的窗口,并获取它的句柄。然后,我们使用SendMessage函数向该窗口发送WM_CLOSE消息,以关闭该窗口。