你的位置:首页 > ASP.net教程

[ASP.net教程]C#模拟键盘输入(一)

  主要使用了Windows API 实现,你可以在你C盘下的system32文件夹中找到user32.dll,函数的说明在MSDN都有,只需要拿名字去搜一下就行

  根据窗口的类名和窗口名称获取窗口句柄,成功返回一个窗口的句柄,否则返回0:

    [DllImport("User32.dll", EntryPoint = "FindWindow")]    private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

  在窗口列表中寻找与指定条件相符的第一个子窗口

    [DllImport("user32.dll", EntryPoint = "FindWindowEx")]    static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpClass, string lpszWindow);

  找到句柄后向窗口发送消息,SendMessage方法有很多的重载

    [DllImport("user32.dll ", EntryPoint = "SendMessage")]    public static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);    [DllImport("user32.dll", EntryPoint = "SendMessage")]    public static extern IntPtr SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);

    const int WM_CHAR = 0x0102;    const int WM_SETTEXT = 0x000C;    const int VK_RETURN = 0x0d;    static void Main(string[] args)    {      IntPtr handle = FindWindow(null, "Hello.txt - 记事本");      handle = FindWindowEx(handle, IntPtr.Zero, "Edit", null);      if (handle == IntPtr.Zero)      {        Console.WriteLine("没有找到句柄");        return;      }      SendMessage(handle, WM_SETTEXT, IntPtr.Zero, "Hello word!");
SendMessage(handle, WM_CHAR, (IntPtr)VK_RETURN, IntPtr.Zero);//Enter
}

土耳其自助游攻略2015怎样去土耳其旅游特价土耳其游厦门旅游景点小吃,住宿? 厦门旅游攻略,要详细的哦! 十一到阳朔旅游,哪里有便宜住宿啊? 惠州大亚湾好玩吗?怎么样? 珠海庙湾岛在哪里?珠海庙湾岛好玩吗? 南沙哪里好玩?广州南沙有什么好玩的地方? 珠海澳门环岛游介绍?珠海澳门环岛一日游攻略? 广东英德天门沟攻略?英德天门沟风景区介绍? 支付宝推海外退税 血拼一族的福音 若尔盖的旅游特色 【大连旅游】—大连特色店铺 “时装之都”米兰购物指南 Atmel IC ATMEGA32L-8AU Datasheet Atmel IC ATMEGA32L-8AU$09449 Datasheet P0705E5102FG Datasheet P0705E5620BBT Datasheet BFC237026153 Datasheet BFC237026154 Datasheet 广州到新丰江大坝旅游 广州到新丰江大坝旅游 广州到新丰江大坝旅游 广州到新丰江国家森林公园桂山风景区旅游 广州到新丰江国家森林公园桂山风景区旅游 广州到新丰江国家森林公园桂山风景区旅游