gpt4 book ai didi

.net - Win32中如何编码.NET事件Application.OnIdle?

转载 作者:行者123 更新时间:2023-12-02 04:14:53 24 4
gpt4 key购买 nike

Win32中如何编码.NET事件Application.OnIdle? (即幕后发生了什么?)。

最佳答案

经典的Win32消息循环是这样的:

while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}

还有一个 PeekMessage() 函数,用于测试是否有消息可用。这样,您可以将消息循环修改为:
while (GetMessage(&msg, NULL, 0, 0)) {
do {
TranslateMessage(&msg);
DispatchMessage(&msg);
} while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE));
onIdle();
}

上面的循环将在仍有消息可处理时调用翻译/调度,然后在不再有消息时将调用 onIdle()。然后返回外部循环,再次调用 GetMessage()以等待下一条消息。

请注意,这是在Win32中实现onIdle功能的一种可能方法。我不知道这是否与.NET相同。

关于.net - Win32中如何编码.NET事件Application.OnIdle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3331012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com