Windows API-----top level window

原文地址:

http://blog.163.com/cumt_xl/blog/static/19071504420136911838683/

Q: What is a top-level window?

A: A top-level window is a window that is not child, i.e. it has not WS_CHILD style set.

Notes

    • unlike the child windows, a top-level window can be displayed anywhere in the screen;
    • many definitions state that a top-level window is "a window that has no parent"
      that is correct but can lead in a confusion: many people think that every window which is created passing a valid hWndParent in CreateWindow(Ex) "has a parent" then, according to the definition it is not top-level
      in fact hWndParent may be either a handle to parent or owner window; 
      if hWndParent is a valid window handle and WS_CHILD style is not set, then we have a top-level owned window;
    • top-level window can or can not be owned but is never a child; further we can say that it can have an owner but never has a parent.
    • top-level windows can be either overlapped windows (having WS_OVERLAPPED style and generally used as application main window) or popup windows (having WS_POPUP style, usually temporary windows like message boxes and dialogs);
    • the coordinates used in CreateWindow(Ex), MoveWindow, SetWindowPos, and so on are always scren coordinates (relative to top-left corner of the screen).
时间: 2024-10-27 12:21:56

Windows API-----top level window的相关文章

基于Windows API的粒子随机运动C++实现

基于Windows API编写Windows动画演示程序,具有便捷.不依赖于IDE的特点. 以随机运动粒子系统为例,实现了该动画框架,C++代码与效果图像如下: #include <windows.h> #include <vector> using namespace std; //粒子数量 #define N 1024 //粒子类型 typedef struct Particle { float x, y; float speedx, speedy; COLORREF rgb;

Windows API参考大全新编

书名:新编Windows API参考大全 作者:本书编写组 页数:981页 开数:16开 字数:2392千字 出版日期:2000年4月第二次印刷 出版社:电子工业出版社 书号:ISBN 7-5053-5777-8 定价:98.00元 内容简介 作为Microsoft 32位平台的应用程序编程接口,Win32 API是从事Windows应用程序开发所必备的.本书首先对Win32 API函数做完整的概述:然后收录五大类函数:窗口管理.图形设备接口.系统服务.国际特性以及网络服务:在附录部分,讲解如何

WinSpy涉及的windows api

WinSpy涉及的windows api WinSpy是仿造微软Spy++的开源项目,但只涉及Spy++的窗口句柄.窗口的属性.styles.类名子窗口.进程线程信息等查找功能.功能虽然不算强大,但涉及到很多windows api,是了解windows api的一个有用工具.WinSpy界面截图如下: 1:拖拽瞄准镜图标获取窗口的HWND 核心api:ClientToScreen.WindowFromPoint.EnumChildWindows.GetParent.GetWindowLong.S

Windows API的消息处理机制

上个学期找实习失利,让我觉得自己基础打得不够牢固,所以在华为实习的这三个月里,每天下班都在复习理论课的知识,顺便刷了一个月的 LeetCode.本来以为找工作是势在必得了,结果这个学期秋季校招的坑爹经历导致现在还没有拿到一家公司的 offer.华为实习一结束,回学校的第二天就去参加了 360 在广州的笔试,进了面试以后却又喜闻乐见地一面就被干掉了.再加上之前 milo yip 大大对我提的建议,思来想去,感觉还是自己的简历不够拿得出手.现在开始都没剩下几家想进的公司了,为了不失业只能提早为明年的

C#调用windows API的一些方法

使用C#调用windows API(从其它地方总结来的,以备查询) C#调用windows API也可以叫做C#如何直接调用非托管代码,通常有2种方法: 1.  直接调用从 DLL 导出的函数. 2.  调用 COM 对象上的接口方法 我主要讨论从dll中导出函数,基本步骤如下: 1.使用 C# 关键字 static 和 extern 声明方法. 2.将 DllImport 属性附加到该方法.DllImport 属性允许您指定包含该方法的 DLL 的名称. 3.如果需要,为方法的参数和返回值指定

windows API之控制台界面

windows API之控制台界面 tkorays ([email protected]) 在windows里面,用户界面包括控制台(Console)形式的和窗口(Window)形式的.控制台形式的界面我们也是经常接触的,不就是那个黑色的框框吗?但是我们并没有直接使用Windows API,通常我们调用printf来输出.scanf来输入.实际上,这个c语言函数也是通过Windows API来实现的.不信的话,可以打开crtdll.dll查看里面的字符串. 关于Console的API不是很多,主

在VBA中使用Windows API

VBA是一种强大的编程语言,可用于自定义Microsoft Office解决方案.通过使用VBA处理一个或多个Office应用程序对象模型,可以容易地修改Office应用程序的功能或者能够使两个或多个Office应用程序协同工作以完成单个应用程序无法完成的任务.然而,使用VBA仅能控制操作系统的一小部分.Windows API提供了控制操作系统绝大多数方面的功能.下面,介绍在VBA中使用Windows API的一些知识. 理解APIs API只是一组函数,可用于处理组件.应用程序或操作系统.通常

Windows API Hooking in Python

catalogue 0. 相关基础知识 1. Deviare API Hook Overview 2. 使用ctypes调用Windows API 3. pydbg 4. winappdbg 5. dll injection 6. process monitor with WMI 7. sobek-hids 0.  相关基础知识 0x1: Python 程序和 C 程序的整合 为了节省软件开发成本,软件开发人员希望能够缩短的软件的开发时间,希望能够在短时间内开发出稳定的产品.Python 功能强

Protobuf的奇怪问题解决--Expected top - level statement (e.g &quot;message&quot;)

最近天天都在玩Protobuf,因此,最近总结的问题过半都是关于它的.话说昨天遇到一个很奇怪的问题,转换.proto为java文件的过程中,报错:Expected top - level statement (e.g "message").截图如下: 查询问题原因,原来是由于编码格式的问题,因为,我使用UE打开了文件,并保存为UTF-8的形式.因此,会在文件的开头有一个特殊的字符,详见下图: 通过查找发现了问题的原因,由于我使用的是中文简体的windows,因此,他的默认编码为GB23

使用C#调用windows API(从其它地方总结来的,以备查询) -转

使用C#调用windows API(从其它地方总结来的,以备查询) C#调用windows API也可以叫做C#如何直接调用非托管代码,通常有2种方法: 1.  直接调用从 DLL 导出的函数. 2.  调用 COM 对象上的接口方法 我主要讨论从dll中导出函数,基本步骤如下: 1.使用 C# 关键字 static 和 extern 声明方法. 2.将 DllImport 属性附加到该方法.DllImport 属性允许您指定包含该方法的 DLL 的名称. 3.如果需要,为方法的参数和返回值指定