您的位置:首页 > 编程语言 > C#

C#发送消息到记事本窗口

2013-04-26 13:13 302 查看
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;

namespace send2notepad
{
public partial class Form1 : Form
{
[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;

public Form1()
{

InitializeComponent();
//System.Diagnostics.Process txt = Process.Start(@"notepad");
Process txt = Process.Start("notepad","test");
}

private void button1_Click(object sender, EventArgs e)
{

string className = "Notepad";
//string className = "winword";

string captionName = "test.txt - 记事本";

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

IntPtr hwnd2 = FindWindowEx(hwnd, IntPtr.Zero, "Edit", "");  //  找子窗体
//SendMessage(hwnd22,256,97,0);

if (hwnd2.Equals( IntPtr.Zero))
{
MessageBox.Show("can't find window!");
return;
}

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);

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: