using System; using System.Runtime.InteropServices; namespace TestHwnd { public class Win32API { [DllImport("User32.dll", EntryPoint = "FindWindow")] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("User32.dll", EntryPoint = "FindWindowEx")] public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpClassName, string lpWindowName); /// /// 自定义的结构 /// public struct My_lParam { public int i; public string s; } /// /// 使用COPYDATASTRUCT来传递字符串 /// [StructLayout(LayoutKind.Sequential)] public struct COPYDATASTRUCT { public IntPtr dwData; public int cbData; [MarshalAs(UnmanagedType.LPStr)] public string lpData; } ////消息发送API //[DllImport("User32.dll", EntryPoint = "SendMessage")] //public static extern int SendMessage( // IntPtr hWnd, // 信息发往的窗口的句柄 // int Msg, // 消息ID // int wParam, // 参数1 // int lParam //参数2 //); ////消息发送API //[DllImport("User32.dll", EntryPoint = "SendMessage")] //public static extern int SendMessage( // IntPtr hWnd, // 信息发往的窗口的句柄 // int Msg, // 消息ID // int wParam, // 参数1 // ref My_lParam lParam //参数2 //); ////消息发送API //[DllImport("User32.dll", EntryPoint = "SendMessage")] //public static extern int SendMessage( // IntPtr hWnd, // 信息发往的窗口的句柄 // int Msg, // 消息ID // int wParam, // 参数1 // ref COPYDATASTRUCT lParam //参数2 //); //消息发送API [DllImport("User32.dll", EntryPoint = "PostMessage")] public static extern int PostMessage( int Msg, // 消息ID int id, // 参数1 string deviceId // 参数2 ); ////消息发送API //[DllImport("User32.dll", EntryPoint = "PostMessage")] //public static extern int PostMessage( // IntPtr hWnd, // 信息发往的窗口的句柄 // int Msg, // 消息ID // int wParam, // 参数1 // ref My_lParam lParam //参数2 //); ////异步消息发送API //[DllImport("User32.dll", EntryPoint = "PostMessage")] //public static extern int PostMessage( // IntPtr hWnd, // 信息发往的窗口的句柄 // int Msg, // 消息ID // int wParam, // 参数1 // ref COPYDATASTRUCT lParam // 参数2 //); } }