【WM】如何判断给定窗口是否是电话应用窗口
来源:互联网 发布:淘宝怎么买东西不花钱 编辑:程序博客网 时间:2024/04/30 06:43
这里所指的电话应用窗口是指由cprog.exe的UI线程创建的窗口,除了大家在平时能够看见的alert(来电)、progress(通话过程)、dialer(拨号盘)等对话框外,cprog.exe还注册三个不可见的窗口类:MSCprog、MSScut和MSClog。这3个窗口类很具有特征意义,通过类名可以很容易地区分出来。而alert(来电)、progress(通话过程)、dialer(拨号盘)等对话框的类名都是Dialog,和普通的对话框没有明显的差异,只能通过验证是否由UI线程创建来确定。
根据上一篇文章《【WM】判断两个窗口是否由同一进程创建》的思路,我们可以更进一步,调用GetWindowThreadProcessId()函数获取给定窗口的线程ID,通过这种方法判断给定窗口是否由cprog进程的UI线程创建的。
我们先来看下函数IsPhoneAppWindow()的实现:
代码首先判断给定窗口是否是MSCprog、MSScut和MSClog等3个窗口,再判断给定窗口是否由UI线程创建。
- 【WM】如何判断给定窗口是否是电话应用窗口
- 【WM】如何判断两个窗口是否由同一进程创建
- 判断窗口是否是活动窗口
- 判断当前窗口是否是全屏
- 判断当前窗口是否是全屏
- js判断当前窗口是否是顶级窗口
- VC如何判断窗口是否无响应
- 有关IsIconic 确定给定窗口是否是最小化(图标化)的窗口
- 判断当前WM系统是否是Smartphone
- 判断窗口是否可用
- 判断窗口是否关闭
- 判断窗口是否退出
- 判断窗口是否退出
- 判断某个窗口是否是活动窗口(当前正在使用、操作的窗口)
- 判断是鼠标是否在某个窗口范围内
- MFC 判断一个窗口是否是可见状态
- 如何判断存在弹出窗体?如何判断当前窗口是活动窗口?
- 请问如何判断一个窗口是否处于隐藏状态?
- WebService Xfire+spring整合开发,哪位大哥给些资料。
- 人生
- 创建windows域---深入理解域概念
- 基于C语言和GEL语言的Flash编程新方法(转帖)
- 大连一夜情 大连情人
- 【WM】如何判断给定窗口是否是电话应用窗口
- 我的BIOS基础知识
- 两个读写clob字段的小过程
- 五。试着接纳与你不同的人,甚至那些表面不如你健康,聪明,美丽的人。
- 图像特技显示
- vc配合sdl编写类似魂斗罗联机游戏
- fedora 12 安装历程(三 系统升级及软件安装篇)
- Visual Studio 2005无法启动调试(IE8下)解决方法
- The evolution of java