zoukankan      html  css  js  c++  java
  • 使用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();
            }
        }

  • 相关阅读:
    qemu-kvm磁盘读写的缓冲(cache)的五种模式
    关于追踪qemu 源码函数路径的一个方法
    准备升大三啦
    关于Vim的一个配置文件
    POJ 3253
    hihocoder 第二十五周 spfa 最短路
    POJ 2718 穷举
    《鸟哥Linux私房菜基础学习篇》命令索引
    博文流
    《SDN核心技术剖析和实战指南》3.3读书笔记
  • 原文地址:https://www.cnblogs.com/voidobject/p/3975509.html
Copyright © 2011-2022 走看看