|
|
1
11
这只是一个技术问题,但您确实有一个窗口,并且有一个消息循环,只是不在代码中。
呼吁
但你可以打电话给我
现在,如果您创建了一个窗口,但没有在中处理该窗口的消息 一些 这样,Windows XP和更高版本将用一个具有白色客户端区域的“重影”窗口替换您的窗口,任务管理器将告诉用户应用程序没有响应。 虽然一开始看起来是这样,但消息循环并不是神奇的,也不是Windows样板文件中严格要求的部分。信息技术 是 在大多数Windows应用程序中,这是一个根深蒂固的标准,因为它是处理窗口消息分派的最佳方式。大多数Windows应用程序的“事件驱动”特性有时会让我们忘记Windows应用程序最初是设计为单线程的,在这个模型中,必须在代码中进行每个函数调用的是在该单线程中运行的代码,而不是操作系统中的某种看不见的力量。多线程的加入在一定程度上改变了这一点,但基本模型仍然保持不变。 编辑 有关消息队列的说明: 正如其他地方提到的,只有当窗口由该线程创建时,才会创建消息队列(并且是基于每个线程)。示例程序在创建消息框时, 做 当然,在您的流程之外还有其他一些事情必须清理。例如,操作系统必须保留一个包含所有现有窗口的表,以及创建这些窗口的线程和进程。当然,这些都是自动清理以及。 |
|
|
2
4
因为没有窗口,所以不需要消息循环。在Win32中,消息发送到windows,而不是应用程序。 |
|
|
3
3
您确实有一个消息循环—MessageBox是一个模式对话框,因此包含一个消息循环。 |
|
|
4
2
您不必创建窗口。但还是有一些信息,比如
鬼 挂在窗户上也不错。 |
|
|
5
2
如果您没有窗口,那么这很好,但是如果您有窗口,那么您需要确保为它发送消息。否则,系统会挂起广播消息,等待您的响应。这对于COM之类的东西很重要,COM为消息处理创建隐藏窗口。如果主线程不发送消息(例如,通过调用
|
|
|
6
0
|
|
0___________ · 我可以在整个程序生命周期内保持句柄打开吗 2 年前 |