首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

getcomponent_getsocketopt

如果函数取得WM_QUIT消息,返回值是零。如果出现了错误,返回值是-1。例如,当hWnd是无效的窗口句柄或lpMsg是无效的指针时。...若想获得更多的错误信息,请调用GetLastError函数 补充: 应用程序通常用返回值来确定是否终止主消息循环并退出程序。...GetMesssge只接收与参数hWnd标识的窗口或子窗口相联系的消息,子窗口由函数IsChild决定,消息值的范围由参数wMsgFilterMin和wMsgFilterMax给出。...注意,此函数的返回值可非零、零或-1,应避免如下代码出现: while(GetMessage(IpMsg,hwnd,0,0))… -1返回值的可能性表示这样的代码会导致致命的应用程序错误。...PeekMesssge只得到那些与参数hWnd标识的窗口相联系的消息或被lsChild确定为其子窗口相联系的消息,并且该消息要在由参数wMsgFiterMin和wMsgFiherMax确定的范围内。

41710

什么是模态窗口?本文带你了解模态窗口的本质

---- 开发中的模态窗口 在各种系统、语言和框架中,只要有用户可以看见的界面,都存在模态窗口的概念。...拿 Windows 系统中的模态对话框为例子,大概就像下面这两张图片这样: 有一个小的子界面盖住了主界面,要求用户必须进行选择。...新开一个消息循环以阻塞当前代码的同时继续响应 UI 交互 上面 Window.ShowDialog 的本质也是在调用 Dispatcher.PushFrame,详见: 直击本质:WPF 框架是如何实现模态窗口的...关于 PushFrame 新开消息循环阻塞的原理可以参考: 深入了解 WPF Dispatcher 的工作原理(PushFrame 部分) - walterlv 当然,还有其他可以新开消息循环的方法。...Windows 采用的方式是让标题栏闪烁,让阴影闪烁。 而这些特效的处理,来自于子窗口需要处理一些特定的消息 WM_SETCURSOR。

1.5K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    当无边框窗口被子窗口遮挡导致难以调节窗口大小时,可通过处理 NCHITTEST 消息重新支持调节窗口大小

    在子窗口处理消息循环 在我的另一篇博客中,我有提到通过处理 WM_NCHITTEST 消息,返回 HT_RIGHT 等来实现支持 Windows 原生窗口功能的效果。...于是,我们需要在消息循环的处理中返回 HTTRANSPARENT 来告诉操作系统这个区域子窗口不处理消息,请交给父窗口。 这里,我以 WPF 的消息循环来写代码。...因为只要是 Windows 平台的 UI 框架都有消息循环的处理,所以可以很容易迁移到其他框架甚至是其他语言。...返回 HTTRANSPARENT 时,操作系统只会查找同线程的其他窗口,如果你的父窗口非同一个线程,那么操作系统处理消息循环时是找不到下一个处理消息的窗口的。...如果你一定要在父窗口非同一个线程时返回 HTTRANSPARENT 那么你的整个窗口(顶层窗口和子窗口)将无法再操作!

    38820

    窗口结束不断循环的线程

    系统主窗口,实质上是Main函数中开始消息循环的窗口,这个消息循环结束后,Main函数就基本上完成了历史使命,整个应用程序自然就结束了。...当你打开一个子窗体,进行某项操作时,如果字窗体中有循环操作时。...如果运行中我关闭子窗体,发现窗体虽然关闭了,但子窗体中的循环程序却没有退出,一直在 执行,并占用着系统资源,直到循环结束,才真正的释放资源。...我感觉最好方法的就是,在子窗体的Closing事件中,写循环退出条件,这样就可以避免某些未知的错误,而且可以只关闭子窗体,并释放子窗体占用的资源 1.Application.Exit(): 方法停止在所有线程上运行的所有消息循环...4.Form.Close: 在 Windows(Win32 或 .NET)中关闭应用程序的正确方式是关闭它的主应用程序窗口(例如 Form.Close)。

    1.6K41

    游戏编程之二 windows编程基础

    菜单条 一个可选择的菜单条可以显示在标题条的下方。通过菜单条来选择菜单和子菜单。这种选择可以通过用鼠标单击,也可以用热键组合来实现。...它很适合用来引起用户的注意,比如在发出错误警告或者是向用户提供选择时。 光标   光标是Windows用来跟踪指点设备的运动的图形符号。这种图形符号可以改变形状以指明特定的Windows操作。...消息框   消息框是另一类Windows图形对象。消息框是一种包含标题、图标和消息的弹出式窗口。图(?)是关闭Windows Notepad程序时出现的一个标准的消息框。   ...菜单条 一个可选择的菜单条可以显示在标题条的下方。通过菜单条来选择菜单和子菜单。这种选择可以通过用鼠标单击,也可以用热键组合来实现。...它很适合用来引起用户的注意,比如在发出错误警告或者是向用户提供选择时。 光标   光标是Windows用来跟踪指点设备的运动的图形符号。这种图形符号可以改变形状以指明特定的Windows操作。

    7110

    深入浅出MFC学习笔记1_GetMessage、PeekMessage、TranslateMessage、DispachMessage等等用法 消息循环中的TranslateMessage函数和Dis

    PeekMesssge只得到那些与参数hWnd标识的窗口相联系的消息或被lsChild确定为其子窗口相联系的消息,并且该消息要在由参数wMsgFiterMin和wMsgFiherMax确定的范围内。...winsows消息队列把得到的消息发送到线程消息队列, 线程消息队列每次取出一条消息发送到指定窗口,不断循环直到程序退出.这个循环就是靠消息环(while(GetMessage()) TranslateMessage...就不再会给你的进程分配时间片 如果是你自己写switch的话,windows就不可能这样灵活的分配时间 资源利用率就会降低 那么还要消息循环干什么,windows直接把消息发给窗口不就可以了吗...因为此原因使用GetLastError会 得到错误码为1444, 这种情况经常出现,解决方法有如下两种: 1....GetMessage函数只有在消息队列中有消息时返回,队列中无消息就会一直等,直至下一个消息出现时才返回。在等的这段时间,应用程序不能执行任何指令。

    82110

    win32程序之子窗口编程

    一丶简介.什么是子窗口   在前边我们已经讲解了窗口的本质.以及如何注册窗口类跟创建窗口. 还讲了消息循环....那么有很多窗口其实Windows已经帮我们创建出来了.我们直接使用即可. 而这些窗口都有自己的消息循环. 只有改变状态的时候.才会发送消息给我们的父窗口通知. 此时我们捕获消息就可以进行处理了....现在我们已经创建完毕子窗口了.那么我们想的是我要响应按钮消息什么的. Windows虽然为每个子控件提供了消息处理函数. 也就是回调. 但是Windows为了让我们处理消息. 所以子窗口有一个特性....但是我们如何知道是哪个消息.? 既然我们知道了子窗口改变状态会发送消息.那么我们可以调试一下.打印一下消息. ? 也就是在我们父窗口的消息处理回调中打印一下消息....因为当我们点击才会出现这个消息.那么我们可以看下这个消息是什么消息. 我们可以随便点击一个消息.查看定义.即可看到Windows全部的消息了.  windows消息都放在了WinUser.h中 ?

    1.9K21

    Debug

    逻辑错误比语法错误更难排除,需要程序员对程序逐步调试,检测循环、分支调用是否正确,变量值是否按照预期产生变化。 运行错误:程序不存在上述错误,但运行结果时对时错。...一般情况下,这个表达式应该由运算符和全局变量构成,例如:在编辑框中输入 x这个全局变量的名字,那么当程序中有x= !x时,程序就将停在这个语句处。 消息断点: VC也支持对Windows消息进行截获。...他有两种方式进行截获:窗口消息处理函数和特定消息中断。 在Breakpoints对话框中选择Messages页,就可以设置消息断点。...如果在底下的下拉 列表框选择一个消息,则每次这种消息到达,程序就中断。...如果变量较多,自动显示的Variables 窗口难以查看时,还可以在右边的Watch 子窗口中添加想要监控的变量名。Watch1 子窗口中添加了变量。

    1.3K20

    【二】Windows API 零门槛编程指南——CreateWindow 窗口创建 “万字长篇专业术语全解”

    本系列博文几乎没有难啃的“专业术语”,尽量让读者能够看明白文章所述内容,是本系列博文的核心宗旨之一。(由于本人也是由于项目需要,所以才来查阅相关资料,文中出现的错误欢迎指出,共同进步!谢谢!)...窗口处理指针:为指向窗体的的过程函数,为指针,使用 WndProc 处理应用程序在发生事件时从 Windows 接收的消息,以下将会讲解 WndProc cbClsExtra 窗口类结构后的附加字节数...只有 Windows 知道,因此它会通过消息WM_PAINT通知你的应用。 首次显示窗口时,必须更新所有窗口。...WM_DESTROY 销毁窗口时发送。从窗口中删除窗口后,它将被发送到销毁窗口的窗口过程。 此消息首先发送到被销毁的窗口,然后发送到被销毁的子窗口(如果有)。...在处理消息期间,可以假定所有子窗口仍然存在。

    1.1K20

    invoke和begininvoke 区别——c#

    解决从不是创建控件的线程访问它 在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的...设置为false表示不对错误线程的调用进行捕获。这样在线程中对textbox的Text属性进行设置时就不会再报错了。 其次,通过delegate的方法来解决。...Windows GUI程序的消息循环 Windows程序有个消息队列,窗体上的所有消息是这个队列里面消息的最主要来源。...有些api发送消息需要一个窗口句柄,这种函数可以把消息发送到指定窗口的主线程消息队列;而有些则可以直接通过线程句柄,把消息发送到该线程消息队列中。 ?...用消息机制通信 SendMessage是windows api,用来把一个消息发送到一个窗口的消息队列。

    2.7K41

    游戏编程之三 DirectX SDK简介

    C应用程序包含了创建并初始化窗口的过程,随后是消息处理循环,最后是结束应用程序所需的一些代码。消息循环负责处理Windows发给主程序的消息。...菜单条 一个可选择的菜单条可以显示在标题条的下方。通过菜单条来选择菜单和子菜单。这种选择可以通过用鼠标单击,也可以用热键组合来实现。...它很适合用来引起用户的注意,比如在发出错误警告或者是向用户提供选择时。 光标   光标是Windows用来跟踪指点设备的运动的图形符号。...消息框   消息框是另一类Windows图形对象。消息框是一种包含标题、图标和消息的弹出式窗口。图(?)是关闭Windows Notepad程序时出现的一个标准的消息框。   ...C应用程序包含了创建并初始化窗口的过程,随后是消息处理循环,最后是结束应用程序所需的一些代码。消息循环负责处理Windows发给主程序的消息。

    15800

    QTMFC面试题

    自动连接 – 多线程时为队列连接方式, 单线程时为直接连接方式 默认情况为自动连接方式. 4、描述QT中的文件流(QTextStream)和数据流(QDataStream)的区别, 他们都能帮助我们完成一些什么事情...子线程中不能处理ui窗口(ui相关的类) * 3. 子线程中只能处理一些数据相关的操作, 不能涉及窗口 7、描述Windows下一个消息从触发到处理的整个路由过程....应用程序启动, 操作系统为程序创建一个对应的消息队列, 用户对创建进行操作, 产生一系列消息, 操作系统首先捕捉到这些消息, 将消息投递到对应的消息队列中, 在应用程序中对应一个消息循环 消息循环每次从消息队列中取出消息..., 取出的消息如果是虚拟键消息, 会将其转换成标准消息, 将 转换的消息再次投递到消息队列, 如果取出的是标准消息, 会将该消息发送给操作系统, 操作系统 会调用对应的窗口过程函数, 下窗口过程函数中对对用的消息进程处理...创建MFC单文档/多文档视图应用程序, 添加数据库支持, 选择数据源, 给数据源中的数据库表绑定记录集类 4.

    2.2K10

    Cycling 74 Max for Mac(mac音乐可视化编程软件)

    拖放到Max修补程序jweb:修复删除jweb时闪烁(Win)jweb:适用于Max实时kslider:范围不再在重新打开时调整对象大小live.banks窗口:修复和改进live.drop:修复了调用大文件的问题...:活动主题边框颜色实时相量的最大值:@lock 1不会降级Max for Live:修复了打开大量文件时编辑设备时崩溃的问题Max for Live:修复了带有浮点参数的错误,例如sprintf中的错误...MC amxd〜/ vst〜:修复了转换为多通道的问题版本MC:子修补程序中的对象可以被静音mc.selector〜:包装器不再将int转换为float打开的对象:在应用启动时起作用软件包:max.db.json...interp列pattrstorage:校正的单元格颜色pattrstorage:已修复双重加载文件时崩溃播放列表〜/ jit.playlist:总是出现循环按钮戳戳:防止大小为零的缓冲区poly〜/.../ pattrstorage:正确调用textedit:设置消息是同步的vst〜:消除某些参数值的双重输出vst〜:plug_vst之后紧跟参数消息的固定崩溃vst〜:对象框中的固定设置属性vst〜

    2.8K40

    游戏编程之五 DirectSound

    菜单条 一个可选择的菜单条可以显示在标题条的下方。通过菜单条来选择菜单和子菜单。这种选择可以通过用鼠标单击,也可以用热键组合来实现。...它很适合用来引起用户的注意,比如在发出错误警告或者是向用户提供选择时。 光标   光标是Windows用来跟踪指点设备的运动的图形符号。...消息框   消息框是另一类Windows图形对象。消息框是一种包含标题、图标和消息的弹出式窗口。图(?)是关闭Windows Notepad程序时出现的一个标准的消息框。   ...这包括控件、菜单、对话框以及更多的新Windows类。   消息中的第二个参数是消息类型。这是在Windows独有的一些头文件中定义的标识符。这些头文件可以通过WINDOWS.H来使用。...C应用程序包含了创建并初始化窗口的过程,随后是消息处理循环,最后是结束应用程序所需的一些代码。消息循环负责处理Windows发给主程序的消息。

    9310

    基于消息的事件驱动机制(Message Based, Event Driven)

    问题:为什么消息处理函数中不能做长耗时的任务? 消息泵处理消息时是依次处理,处理完一条消息后,再处理下一条消息。...通知消息:特指WM_NOTIFY消息。通常指一个窗口内的子控件发生了一些事情,需要通知父窗口。...在如下代码中可以看到,WINDOWS消息WM_CREATE,对应的消息处理函数为OnCreate.当消息到达时,消息泵知道去调用OnCreate函数。...2.8 模态对话框和非模态对话框的区别 模态对话框:在子界面活动期间,父窗口是无法进行消息响应。独占用户输入 非模态对话框:各窗口之间不影响。 模态对话框通过在消息循环内再造消息循环。...如果当前窗口内的消息循环不退出,父窗口的消息循环将无法运转,也即无法响应。从而产生模态对话框独占响应的效果。 3.

    2.7K20

    HOOK消息钩子

    大致的过程是当系统I/O上发生一个事件时,系统捕获该事件,并向指定的应用程序的消息队列发送一个消息,应用程序从消息队列中顺次取出一个消息,交由系统调度相应的窗口回调程序进行消息处理。...这里可以看到,从OS捕捉到消息开始处理,到最后交还给OS调度回调函数,就像走了一个循环,我自己理解这也是为什么叫做“回调函数”的原因之一。...可以把Hook理解为Windows操作系统消息处理机制的一个平台;应用程序可以通过设置Hook对某个进程或窗口进行监视,即:对特定事件“挂钩”;一旦预定义特定事件发生,Windows操作系统即会向钩子hook...这个列表的指针指向指定的,应用程序定义的,被Hook子程调用的回调函数,也就是该钩子的各个处理子程序。当与指定的Hook类型关联的消息发生时,系统就把这个消息传递到Hook子程。...一些Hook子程可以只监视消息,或者修改消息,或者停止消息的前进,避免这些消息传递到下一个Hook子程或者目的窗口。

    79410

    【Win32】初识Win32编程

    动态库程序:扩展名DLL,在执行文件时从中获取代码 。 静态库中的代码是直接嵌入到你的项目中,而动态库中的内容是通过地址来找到。 静态库程序无法执行,也就是说它最终生成的文件无法进入内存。...---- 窗口创建过程 定义WinMain函数 定义窗口的处理函数(自定义,消息处理) 注册窗口类(向操作系统中写入一些数据) 创建窗口(内存中创建窗口) 显示窗口(绘制窗口的图像) 消息循环(获取/翻译...); DispatchMessage(&nMsg);//将消息交给窗口处理函数来处理 } return 0; } 子窗口创建过程 创建时要设置父窗口句柄 创建风格要增加WS_CHILD |...消息的概念和作用 消息组成(windows平台下) 窗口句柄 消息ID 消息的两个参数(两个附带信息) 消息产生的时间 消息产生时的鼠标位置 消息的作用 当系统通知窗口工作时,就采用消息的方式...): 与执行文件中同一个目录下 当前工作目录 Windows目录,(三个window…不建议使用,因为是系统路径, 公共场所,容易出现问题。)

    2.1K110
    领券