日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

c#windows消息循环sendmessage实例

發布時間:2023/12/18 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c#windows消息循环sendmessage实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[DllImport("User32.dll", EntryPoint = "SendMessage")]private static extern int SendMessage(IntPtr hWnd, // 信息發往的窗口的句柄 int Msg, // 消息ID int wParam, // 參數1 string lParam);[DllImport("User32.dll", EntryPoint = "SendMessage")]private static extern int SendMessage2(IntPtr hWnd, // 信息發往的窗口的句柄 int Msg, // 消息ID int wParam, // 參數1 IntPtr lParam);[DllImport("User32.dll", EntryPoint = "FindWindow")]private extern static IntPtr FindWindow(string lpClassName, string lpWindowName);[DllImport("User32.dll", EntryPoint = "FindWindowEx")]private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpClassName, string lpWindowName);

?

private void button4_Click(object sender, EventArgs e){IntPtr hwnd= FindWindow(null, "testForm");string info = "my info:ΑΒβδγζηθ";IntPtr pinfo= Marshal.StringToHGlobalAnsi(info);SendMessage2(hwnd, Form2.USERMESSAGEID, 12, pinfo);SendMessage(hwnd, Form2.USERMESSAGEID, 12, info);}

?

public const int USERMESSAGEID =0x2021;protected override void WndProc(ref Message m){switch(m.Msg){case USERMESSAGEID:{int wparam= m.WParam.ToInt32();string str = Marshal.PtrToStringAnsi(m.LParam);break;}}base.WndProc(ref m);}

?

[DllImport("User32.dll", EntryPoint = "SendMessage")]private static extern int SendMessage(IntPtr hWnd, // 信息發往的窗口的句柄 int Msg, // 消息ID int wParam, // 參數1 ref My_lParam lParam);

?

IntPtr ptr = FindWindow(null, "主界面");SendMessage(ptr, MYMESSAGE, 1, ref m);//發送消息

?

protected override void DefWndProc(ref Message m){try{switch (m.Msg){case MYMESSAGE:{My_lParam ml = new My_lParam();Type t = ml.GetType();ml = (My_lParam)m.GetLParam(t);break;}deafult :base.DefWndProc(ref m);}catch(){ }}

總結

以上是生活随笔為你收集整理的c#windows消息循环sendmessage实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。