c#里FindWindow的用法

FindWindow()函数的用法。要在C#里使用该API,写出FindWindow()函数的声明: 
            [DllImport("coredll.dll", EntryPoint = "FindWindow")]
            private extern static IntPtr FindWindow(string lpClassName, string lpWindowName);
        这个函数有两个参数,第一个是要找的窗口的类,第二个是要找的窗口的标题。在搜索的时候不一定两者都知道,但至少要知道其中的一个。有的窗口的标题是比 较容易得到的,如"计算器",所以搜索时应使用标题进行搜索。但有的软件的标题不是固定的,如"记事本",如果打开的文件不同,窗口标题也不同,这时使用 窗口类搜索就比较方便。如果找到了满足条件的窗口,这个函数返回该窗口的句柄,否则返回0。 看例子

IntPtr ParenthWnd = new IntPtr(0);

ParenthWnd = FindWindow(null,"Word Mobile");
            //判断这个窗体是否有效 
            if (ParenthWnd != IntPtr.Zero)
            {
                MessageBox.Show("找到窗口");
            }

else

MessageBox.Show("没有找到窗口");

从上面的讨论中可以看出,如果要搜索的外部程序的窗口标题比较容易得到,问题是比较简单的。可如果窗口的标题不固定或者根本就没有标题,怎么得到窗口的 类呢?如果你安装了Visual C++,你可以使用其中的Spy,在Spy++中有一个FindWindow工具,它允许你使用鼠标选择窗口,然后Spy++会显示这个窗口的类。 
    在Win32 API中还有一个FindWindowEx,它非常适合寻找子窗口。

时间: 2024-08-11 10:51:45

c#里FindWindow的用法的相关文章

php里的declare用法

function tick_handler () { echo "tick_handler() called<br>" ; } function tick_handler1 () { echo "tick_handler1() called<br>" ; } register_tick_function ( 'tick_handler' ); register_tick_function ( 'tick_handler1' ); declar

css里的BFC用法

css里的BFC用法 BFC(Block Formatting Contexts),可以把BFC理解为一个封闭的大箱子,容器里面的子元素不会影响到外面的元素. 规则 1.内部的盒子会在垂直方向,一个个地放置. 2.BFC是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素 3.属于同一个BFC的两个相邻BOx的上下margin会发生重叠 4.计算BFC的高度时,浮动元素也参与计算 5.每个元素的左边,与包含的盒子的左边相接触,即使存在浮动也是如此: 6.BFC的区域不会与float

Hibernate(或其它ORM)里的inverse用法详解,内容摘自Java web轻量级开发面试教程

本文来是从 java web轻量级开发面试教程从摘录的. Inverse的英文含义是反转,在Hibernate中用来决定是由哪方来维护两个业务实体类之间的关联关系,具体而言,就是由哪方去设置这个被外键约束的字段值. 它的默认值是false,也就是说,本端(比如inverse=false写在学生端,那么本端是学生,另外一方是课程)不"反转控制权",这句别扭的话的另外一种说法是,本端维护关联关系.如果两边都不写,那么两端都维护.这样会造成问题,即新时因为两端都控制关系,因此可能会导致重复更

jquery 里 $(this)的用法

当遇到循环table时,查看其中的td.tr属性和值会有一点的麻烦.此时就必须使用$(this)来解决这一类的问题了. 1.直接使用 2.间接使用 <table> <?php foreach($shoplist as $v){ ?> <tr> <td>{$v.goods_name}</td> <td>颜色:灰色</td> <td id="num"> <div class="c

Java里this的用法

this, 一个官方的说法是,this.首先是一个对象,它代表调用这个函数的对象.       在不会产生混淆的地方 this.是可以省略的,但一般都会加上,例如,下面的程序中,类"Person"里面加与不加 this 编译运行后的结果是一样的: 1 package testThis; 2 3 public class Test { 4 public static void main(String args[]){ 5 Person p1 = new Person(); 6 p1.na

android里Toast的用法

在活动中,可以通过findViewById()方法获取到在布局文件中定义的元素,这里我们传入R.id.button_1,来得到按钮的实例,这个值是刚才在first_layout.xml中通过android:id属性指定的.findViewById()方法返回的是一个View对象,我们需要向下转型将它转成Button对象.得到了按钮的实例之后,我们通过调用setOnClickListener()方法为按钮注册一个监听器,点击按钮时就会执行监听器中的onClick()方法.因此,弹出Toast的功能

sql语句条件里between的用法

今天再开发中遇到一个需求 ,需要查处某某年某月某日 到 某某年某月某日时间段的数据! 看到之前框架里有用到between,今天果断用了一下!效果不错! 实现代码: $where .=" start_time between '".$create_time[0]."' and '".$create_time[1]."' and end_time between '".$create_time[0]."' and '".$crea

SQL里IN的用法以及优化

1.in后条件不多,可以考虑主表建索引,或用union all 代替 2. in 和 exists的区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in, 反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists.其实我们区分in和exists主要是造成了驱动顺序的改变(这是性能变化的关键),如果是exists,那么以外层表为驱动表,先被访问,如果是IN,那么先执行子查询,所以我们会以驱动表的快速返回为目标,那么就会考虑到索引及结果集的关系了 ,另外IN

python里字典的用法介绍

一.什么是字典 字典是python里的一种数据类型,特点是元素的无序性,和键key的唯一性.字典的创建方法是{key:values},字典里的键key只能是不可变的数据类型(整型,字符串或者是元组),值values可以是任何数据类型.字典里的一组key:values叫做一个键值对item. 二.字典的基本操作 首先我们创建一个字典: a={'name':'tom','age':18,'sex':'male','height':'175cm'} b={'one':111,'name':'lisa'