【转】Windows 窗口层次关系】的更多相关文章

原文链接:undefined! 相信在Windows 下面编程的很多兄弟们都不是很清楚Windows 中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所以便整理一下.下面就说说Windows 中桌面(Desktop)以及顶层窗口,以及子窗口之间的关系. 在Windows 的图形界面下,最基本显示信息的元素就是窗口,每一个Windows 窗口都管理着自己与其他窗口之间的关系和自身的一些信息,如:是否可见,窗口的所有者,窗口的父/子关系等等信息,当窗口…
相信在Window 下面编程的很多兄弟们都不是很清楚Window 中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所以便整理一下.下面就说说Window 中桌面(Deskkop)以及顶层窗口,以及子窗口之间的关系. 在Window 的图形界面下,最基本显示信息的元素就是窗口,每一个Window 窗口都管理着自己与其他窗口之间的关系和自身的一些信息,如:是否可见,窗口的所有者,窗口的父/子关系等等信息,当窗口创建.销毁.显示的时候,就会用到这些信息.…
今天看到这篇文章,觉得蛮有用的,我之前也对这个不大了解,特转载此处. 转载地址:http://www.51testing.com/html/200804/n80848.html 在Window 的图形界面下,最基本显示信息的元素就是窗口,每一个Window 窗口都管理着自己和其他窗体之间的关系和自身的一些信息,如:是否可见,窗口的所有者,窗口的父/子关系等等信息,当窗口创建.销毁.显示的时候,就会用到这些信息.   在每一个窗口实例中,有四个元素被窗口管理器用来建立窗口管理链表.       …
起因 项目上需要对Canvas中的控件添加调整大小功能,即能在控件的四个角和四条边上可进行相应的拖动,类似Windows窗口那种.于是在参考以前同事写的代码基础上,完成了该功能. 代码实现 Adorner 我们是给现有的控件添加功能,属于装饰功能.当然首先想到的就是Adorner.在MSDN中Adorner的介绍如下: 装饰器是一个绑定到 UIElement 的自定义 FrameworkElement. 装饰器呈现在装饰器层中,它是一个呈现图面,始终位于装饰元素或装饰元素集合的顶部:呈现装饰器独…
(本文尝试通过一些简单的实验,来分析Windows的窗口机制,并对微软的设计理由进行一定的猜测,需要读者具备C++.Windows编程及MFC经验,还得有一定动手能力.文中可能出现一些术语不统一的现象,比如“子窗口”,有时候我写作“child window”,有时候写作“child”,我想应该不会有太大影响,文章太长,不一一更正了) 问题开始于我的最近的一次开发经历,我打算把程序的一部分界面放在DLL中,而这部分界面又需要使用到Tooltip,但DLL中的虚函数PreTranslateMessa…
1 开发语言抉择 1.1 关于开发Win32 程序的语言选择 C还是C++ 在决定抛弃MFC,而使用纯Win32 API 开发Window桌面程序之后,还存在一个语言的选择,这就是是否使用C++.C++作为C的超集,能实现所有C能实现的功能.其实反之亦然,C本身也能完成C++超出的那部分功能,只是可能需要更多行的代码.就本人理解而言, 对于巨大型项目,还是使用纯C来架构更加稳妥: 对于中小型项目来说,C++可能更方便快捷.由于目前做的是中小项目,所以决定把C++作为主要开发语言. 1.2 关于C…
新建一个文本文档,打开,Windows就会给这个文本文档的窗口临时分配唯一的一串数字来标识这个窗体,以区别于其他窗口,这串数字就叫句柄.   因为句柄是临时随机分配的,所以每次虽然是打开同一个文件,但是分配到的一串数字却是不一样的.   所以我们要通过窗体的标题栏来确定每次不同的句柄.   例如,我打开一个“新建 文本文档 (5).txt”,打开,文本文档的标题栏是“新建 文本文档 (5).txt - 记事本”,那么,我就通过“新建 文本文档 (5).txt - 记事本”(注意:不是文件名)来查…
建立第一个基于VisualC++的Windows窗口程序: 发表于:http://blog.csdn.net/it1988888/article/details/10306585 a)执行命令:新建 –> 项目 –> 其它语言 –> Visual C++ –> Windows窗体应用程序 –> - –> Finish ; 效果如下图所示: b)添加控件: 从工具栏向Form窗体中,拉拖控件即可,如上图所示: c)编辑代码: 解决方案资源管理器 -> 项目 ->…
利用节点间的层次关系获取节点: 上一节讲了3中获取的方式: * ※※一.绝对获取,获取元素的3种方式:-Element * 1.getElementById(): 通过标签中的id属性值获来取该标签对象 * 2.getElementsByName(): 通过标签中的name属性值来获取该标签对象集合 * 3.getElementsByTagName(): 通过标签名来获取该标签对象集合 现在来看看相对获取的方式: ※※二.相对获取(利用节点之间的层次关系),获取节点:-Node 1.父节点:pa…
1. 网络中常用的地址: 2. TCP/IP中地址与层次关系 :…
1. ICON介绍 最近开始接触windows 编程,因此将自己所接触的一些零散的知识进行整理并记录.本文主要介绍了如何更改windows对话框窗口的ICON图标.这里首先介绍一下windows ICON定义.在我们使用的windows APP上,一般都存在两个ICON.一个是打开APP后显示与左上角的小的图标文件(SMALL ICON)以及按下Alt+Tab切换窗口时显示的一个大的图标文件(BIG ICON).以windows自带的记事本程序为例,小的图标文件如下图1所示: 图1 记事本程序的…
Windows窗口消息大全,全不全自己看 ////////////////////////////////////////////////////////////////////////// #include "AFXPRIV.H"//消息值的定义来源 #include "Dde.h"//DDE消息值的定义来源 #include "CPL.H"//控制面板消息值的定义来源 #include "WFEXT.H"//文件管理器的消…
windows窗口的创建有以下几个步骤: 1.创建注册窗口类 2.创建窗口句柄 3.显示更新窗口 4.消息循环 1.创建注册窗口类 所谓创建窗口类就是定义一个WNDCLASS类对象,并将该对象进行初始化.之后就要用RegisterClass()函数对该窗口类对象进行注册,以便使某个窗口与该窗口类相关联. 关于WNDCLASS的定义如下: typedef struct {    UINT style;    WNDPROC lpfnWndProc;    int cbClsExtra;    in…
前面一篇文章,我们介绍了如何通过web标签的id , css样式值来获取jquery对象. 但这只是基本方法,不能满足所有场景的需求. 本文介绍通过dom元素之间的层次关系获取元素.具体是将各种标识符(id, css样式,html标签名)组合在一起来获取jquery对象. 1.匹配后代元素 $("#myid  a")   //获取标识为myid下所有的 html标签为a的子元素(注意不仅是myid下的孩子节点,还包括孙子,更下层的所有满足关系的节点) $("#ctypeId…
Windows窗口创建的基本代码: #include <Windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in LPSTR lpCmdLine, __in int nShowCmd ) { TCHAR* appName = TEXT("Demo…
PostMessage 向Windows窗口发送Alt组合键 关于向Windows窗口发送Alt组合键的问题,这个真是经典问题啊,在网上找了一下,问的人N多,方法差不多, 但就是没有很好解决问题. 之前找到一个能正确发送的code:(Alt+A) PostMessage(hWnd,WM_SYSKEYDOWN,VK_MENU,0); PostMessage(hWnd,WM_SYSKEYDOWN,0x41,0); Sleep(50); PostMessage(hWnd,WM_SYSKEYUP,0x4…
介绍: Layered Windows是windows窗口中的一类,提供类似半透明的效果(阿尔法混合).半透明效果是字面上有能看出来的,但实际上根据MSND,该类型的窗口还能更好的支持非矩形的窗口,使之显示效果更平滑流畅(暗地里猜测是使用了硬件加速而达到的效果).在win8之前WS_EX_LAYERED只能用于顶层窗口,win8及之后版本子窗口也可以使用. 使用: 首先要做的就是在CreateWindowEx()时加入 WS_EX_LAYERED风格.之后调用SetLayeredWindowAt…
selenium本身处理不了windows窗口,需要借助,PyAutoit包 与autoit工具 这里以文件上传窗口为例: 1.安装python pyauto包 pip install PyAutoit 2.安装autoit工具,下载地址如下,这里使用的是autoit3版本 https://www.autoitscript.com/site/autoit/downloads/ 3.处理文件上传window窗口 需要完成以下步骤: 1>.输入文件路径 2>.点击,打开按钮 4.文件上传autoi…
Python+selenium自动化测试中Windows窗口跳转方法 #第一种方法 #获得当前窗口 nowhandle=driver.current_window_handle #打开弹窗 driver.find_element_by_name("xxx").click() #获得所有窗口 allhandles=driver.window_handles for handle in allhandles: #比较当前窗口是不是原先的窗口 if handle!=nowhandle: #获…
1. windows窗口切换:切换到要操作的窗口 有多个窗口: 1. 触发新窗口的出现 2. 得知道新窗口是谁 -- 依据窗口的window_handle来识别窗口 3. 得到窗口的window_handle -- driver.window_handles(当前打开的所有窗口的句柄)         A. 得到的是一个有序列表         B. 新窗口: -1 4. 切换:driver.switch_to.window(要切换的窗口的句柄) from selenium import web…
刚学习OpenGL,绘制图形的时候,如果不进行设置,运行的时候会先出现黑窗口再出现Windows窗口. 其实要去除控制台窗口非常简单,只需要修改工程设置,把子系统改成Windows,程序的入口点改成mainCRTStartup. 下面我先把几中解决办法列举出来,再解释下我的理解. 方法一:在程序中加入一句#pragma comment(linker, “/subsystem:\”windows\”  /entry:\”mainCRTStartup\””),建议加在include的后面.(注意不要…
原文地址:http://blog.csdn.net/linzhengqun/article/details/1451088 从普通函数到对象方法 ------Windows窗口过程的面向对象封装 开始,由VirtualAlloc想起 我在查看VirtualAlloc这个API的时候,思绪竟然跳到另一个地方去了.那是以前阅读VCL源码时遗留下来的问题,Classes单元的MakeObjectInstance函数调用了VirtualAlloc,我甚是不解,为什么Delphi提供了那么多内存分配函数,…
由于所创建的应用项目或类库项目较多,于是将这些类库放到一个文件夹下.在VS解决方案下确实能看到一个文件夹下多个类库项目这种层次关系.如下图所示: 但打开“我的电脑”,看到的只有类库,并未看到维护层次关系的文件夹.如下图所示.这是怎么回事呢? 解释:在Microsoft Visual Studio中文件夹有两种,解决方案文件夹和文件夹.解决方案文件夹并不和磁盘文件夹对应,它的配置存在解决方案文件中.而项目中新建的文件夹,是有实际磁盘文件夹对应的.VS解决方案看到的层次关系是在sln文件里面.不是通…
几个常见的ClassLoader: bootstrap  class  loader: 最早启动的class  loader,一般使用C语言,汇编语言,或是c++写的,用操作系统本地语言写的.这个class  loader你动不了,也没有名字,打印出来是空值. 1,负责先把其他的class loader   load进来,然后其他class  loader再load其他class 2,load  jre最核心的类,最核心的rt.jar拿出来把里边的class load进来. extension…
学习目的 熟悉开发工具Visual C++ 6.0和MSDN 2001的使用. 应用Windows API函数, 手工编写具有最基本构成的Windows窗口应用程序(包含WinMain入口函数, 消息循环, 窗口函数), 并调试成功. 1.熟悉开发工具 熟悉开发工具visual studio的使用: 在visual studio中新建win32空项目   2.熟悉MSDN帮助的使用 练习使用MSDN查询windows相关函数信息   3. 应用Windows API函数, 手工编写具有最基本构成…
为Windows窗口标题栏添加新按钮   对于我们熟悉的标准windows窗口来讲,标题栏上一般包含有3个按钮,即最大化按钮,最小化按钮和关闭按钮.你想不想在Windows的窗口标题栏上添加一个新的自定义按钮,满足你的个性化需求,从而也使自己的窗口更具特色呢? 下面我们就讨论一下在delphi中如何给窗口的标题栏上添加新的按钮. 一.实现起来要定义以下过程: 1. 定义DrawCaptButton过程,这个过程的功能是在指定的位置画出按钮. 在过程中要使用win32函数GetSystemMetr…
autoit 简单使用 autoit中文交流论坛: http://www.autoitx.com/index.php 1 下载 autoit 中文安装包 : https://yunpan.cn/OcPfVIDB68Aisv  访问密码 722d 2 将压缩包解压到需安装的目录文件中. 安装文件 3 桌面空白处,"鼠标右键单击, 新建-aotoit V3 Script",  新建 .au3 文件 4 鼠标选中新建的.au3文件, "右键单击- Edit Script"…
修改windows窗口的标题名称,就是修改下图的东西: 第一种: using UnityEngine; using System; using System.Runtime.InteropServices; public class SetWindowText : MonoBehaviour { #region WIN32API delegate bool EnumWindowsCallBack(IntPtr hwnd, IntPtr lParam); [DllImport("user32&qu…
(一)Windows窗口(MDICLIENT)样式介绍 /* Windows窗口样式 */ WS_BORDER //带有边框的窗口 WS_CAPTION //带有标题栏的窗口 WS_CHILD //子窗口 WS_CLIPCHILDREN //当在父窗口内绘图时, 排除子窗口区域 WS_CLIPSIBLINGS //使窗口排除子窗口之间的相对区域 WS_DISABLED //窗口呈不可用状态 WS_DLGFRAME //带对话框边框样式,不带标题框 WS_GROUP //组样式 WS_ICONIC…
如何在eclipse中显示包的层次关系呢?如下图所示…