使用C# 向记事本窗口发送消息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
    class Program
    {
        [DllImport( "User32.dll ")]
        public static extern IntPtr FindWindow(string ClassName, string CaptionName);
        [DllImport( "User32.dll ")]
        public static extern int SendMessage(IntPtr hwad, int wMsg, int lParam, int wParam);

        [DllImport("user32.dll")]
        public static extern IntPtr SetFocus(IntPtr hwnd2);

        [DllImport("user32.dll")]
        public static extern IntPtr FindWindowEx(IntPtr parenthW,IntPtr child,string

s1,string s2);

        public const int WM_SETTEXT = 0x000C; 
        public const int WM_CHAR = 0x0102;

        static void Main(string[] args)
        {

            string className = "Notepad";


            string captionName = "无标题 - 记事本";

            IntPtr hwnd=FindWindow(className,captionName);//找主窗口.


            IntPtr hwnd2 = FindWindowEx(hwnd,IntPtr.Zero, "Edit", "");  //  找子窗体
            //SendMessage(hwnd22,256,97,0);
            SendMessage(hwnd2, WM_CHAR, (int)'h', 0);
            SendMessage(hwnd2, WM_CHAR, (int)'e', 0);
            SendMessage(hwnd2, WM_CHAR, (int)'l', 0);
            SendMessage(hwnd2, WM_CHAR, (int)'l', 0);
            SendMessage(hwnd2, WM_CHAR, (int)'o', 0); 
            Console.ReadLine();
        }
    }

posted @ 2012-03-31 18:38  至道中和  阅读(889)  评论(0编辑  收藏  举报