日期:2014-05-18 浏览次数:21023 次
别忘了添加引用
using System.Runtime.InteropServices;

直接添加代码:
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;
namespace TestKeyPress
{
    public partial class SimulateInput : Form
    {
        public SimulateInput()
        {
            InitializeComponent();
        }
        [DllImport("USER32.DLL")]
        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
        private void button1_Click(object sender, EventArgs e)
        {
            if (FindWindow("OpusApp", null) != IntPtr.Zero)
            {
                MessageBox.Show("Find it!");
            }
            else
            {
                MessageBox.Show("Sorry");
            }
        }
    }
}
看过FindWindow函数的都知道,需要两个参数,其实一个也可以入上面的代码,当然也可以替换为
if(FindWindow("OpusApp", "文档1 - Microsoft Word") != IntPtr.Zero)
if (FindWindow(null, "文档1 - Microsoft Word") != IntPtr.Zero)
现在主要要解决的是,我怎么知道,类名:OpusApp呢,如何知道窗体名:文档1 - Microsoft Word
这里用visual studio tools的Spy++,下图

从监视-窗口-里找到你想Find的窗口,右键---属性---就找到你想要的东西了。
  

这样下次就不用百度去找,各种我们没听说过的类的名字,和窗口的名字了