快速精准获取窗口句柄的方法

我们在写程序中经常要操作外部程序,比如:设置它的大小、位置等。别人写的的程序我们如何控制呢?还好有强大api库。翻翻api,你会发现很多函数调用都需要知道窗口句柄。方法也很多,但能保证百分百成功的似乎没了。今天写代码就让我遇到了,折腾了半天。

先说说我的程序吧。在程序启动时,开启一个外部程序。这个外部程序开启后我又不想看到标题栏和边框,手动移动窗口似乎可刚好移动隐藏掉。于是想到了定位的方法。运行时却没有效果,外部程序窗口句柄找不到,开个记事本测试又可以,万般无赖啊。强大的vs其实已经为我们提供了工具。依次进入”开始菜单“——"所有程序"——"Microsoft Visual Studio 2008"——"Visual Studio Tools"——"spy++"(这个程序有的机器有,有的没有。可能与版本或者是否安装C++包有关),运行它。快捷键alt+f3出现如下窗口。

点击并拖动如图红色框中的图标就指定窗口,下面的三个框则会相应主变化。这个过程中我们主要是得到类这值,因为有些程序的标题是随时变化的。使用win32 api   FindWindow就能找到窗口句柄了。原型如下:

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

  lpClassName:类名

  lpWindowName:窗口标题

不知是否有直接隐藏掉标题、边框的api。如果有,知道的望告知,谢谢。

转载于:https://www.cnblogs.com/lonny/archive/2011/07/19/Fast-and-accurate-method-to-obtain-the-window-handle.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值