我想用C#做一个小程序,就是能向指定的窗体发送键盘消息。
比如我指定接收键盘消息的窗体为记事本,那么如何将我窗体上文本框内的内容传递到记事本中呢?
期待解答,请作详细,感谢!
请附上实现的源码。谢谢!

解决方案 »

  1.   

    http://www.diybl.com/course/4_webprogram/asp.net/asp_netshl/2008121/96920.html
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  2.   

    用win32的api,FindWindow,FindWindowEx,等就可以找到窗口的句柄,得到句柄后,你就可以做你想做的事情了
      

  3.   

    还要源码?
    丢一段吧
    using System.Runtime.InteropServices;
    public partial class Form1 : Form
        {
            [DllImport("USER32.DLL")]
            public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);      
        
    private void btnStart_Click(object sender, EventArgs e)
            {
                IntPtr ip = FindWindow(null, "1.txt - 记事本");
                if (ip != IntPtr.Zero)
                {
                    //找到句柄后,你就可以做你想做的事了,发送信息你可以用SendKeys;
                }
            }
        }
      

  4.   

            [DllImport("user32.dll", SetLastError = true)]
            public static extern int SendMessage(IntPtr HWnd, uint Msg, int WParam, int LParam);
      

  5.   

    [DllImport("user32.dll", SetLastError = true)] 
    public static extern int SendMessage(IntPtr HWnd, uint Msg, int WParam, int LParam); 就这个了
      

  6.   


    [DllImport("user32.dll", EntryPoint="SendMessageA")] 
    public static extern int SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);protected override void DefWndProc(ref System.Windows.Forms.Message m) 
    {
    switch((enuUsrDefMsg)m.Msg) 

    case MSG1:
    //enter your code here
    break;
    default:
    base.DefWndProc(ref m);
    break;
    }
    }//hwnd为要接收消息的窗体或控件句柄
    SendMessage(hwnd, (int)msg, (IntPtr)wPar, (IntPtr)lPar);