登陆 | 免费注册(只需一分钟) | 会员中心

聚宝网   购物专题 基金专题 性专题 饮食专题 教育专题 生活大参考 园林资讯 园艺库 健康专题
  论文专题 家庭养花 园林景观 盆景奇石 激情图库 农业资料库 园林古建 英文站 花卉栽培

聚宝网免费为您提供 最新IT资讯

 

首页 > FAQ > VC.NET
如何知道当前获得焦点的是不是一个窗口?
时间:2007-06-18  www.jubao163.com  来源: 不详
所属分类:.NET技术 VC.NET
-----------------------------------------

右键点击,如何知道点击的是一个窗口,还是在桌面上空点?

----------------------------------------------------------------------

up

--------------------------------------------------------

自己UP

--------------------------------------------------------

如果你想知道这个窗口是否获得焦点,可以用Focus来判断啊,它返回的是个Boolean型

--------------------------------------------------------

我是想写一个DD,来捕捉鼠标右键点击的消息,如果点击的是一个窗口(不一定是这个程序的窗口,也可能是IE或其他什么程序的窗口),则对这个窗口进行相应的操作,如果点击的不是一个窗口,则什么也不做。

--------------------------------------------------------

那好像得用鼠标钩子,获得鼠标所在窗口的句柄后进行相应操作
上网上下载将鼠标钩子的程序看看吧

--------------------------------------------------------

谢谢,大家用过Styler么?它的右键单击窗口的标题栏,窗口就卷起的功能很好用,不过它有很多其他的功能我并不想用。所以想自己写一个可以让任意窗口卷起的程序。
大家觉得它的卷起功能是用鼠标钩子实现的么?
我暂时还不想用钩子,还有没有其他的获得系统消息的方法呢?

--------------------------------------------------------

我用钩子写了,点击右键时,我用IsWindow(glhWnd)来判断点击的是不是一个窗口,判断的结果是不管我点击哪里都是TRUE。。。郁闷中。。。

--------------------------------------------------------

桌面也是窗口

记录你的窗口hwnd,比较


--------------------------------------------------------

谢谢,但是怎么比较呢?

--------------------------------------------------------

我知道桌面什么的全是窗口了,现在我想判断的是 如何知道当前点击的窗口的标题栏是系统标题栏。 例如 千千静听的标题栏就不是系统标题栏。

--------------------------------------------------------

功能差不多实现了,不过我在改变窗口大小的时候出了点问题。
代码如下:
GetWindowRect(glhWnd, &WdRect);
GetClientRect(glhWnd, &CtRect);
if(。。。。。。。。。。。。)
{
if(CtRect.bottom > 0)
SetWindowPos(glhWnd, HWND_NOTOPMOST, 0, 0, WdRect.right-WdRect.left, 0, SWP_NOMOVE);
else if(CtRect.bottom == 0)
SetWindowPos(glhWnd, HWND_NOTOPMOST, 0, 0, WdRect.right-WdRect.left, (WdRect.right-WdRect.left)*0.75, SWP_NOMOVE);
}
改变文件窗口,IE窗口都没问题,但是改变窗口类为#32770 (对话框)的窗口时,窗口会最小化到任务栏。
谁知道为什么吗?



推荐文章
联盟网站

浙ICP备 :07003766号 Copyright © 2001-2007 JUBAO163,All rights reserved.