- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我得到了这个错误,我不知道为什么,我只是正确地按照他所做的去做,而他没有得到这个错误。这是代码。
//Main application loop
MSG msg = {0};
while(WM_QUIT != msg.message())
{
if(PeekMessage(&msg, NULL, NULL, NULL, PM_Remove))
{
//Translate message
TranslateMessage(&msg);
//Dispatch message
DispatchMessage(&msg);
}
}
这里是错误:
error C2064: term does not evaluate to a function taking 0 arguments
fatal error C1903: unable to recover from previous error(s); stopping compilation
当我点击它时,它们都指向 while 循环。
最佳答案
MSG 的message
成员结构是一个字段,而不是一个方法。您应该访问它而不是调用它:
while (WM_QUIT != msg.message) {
// ...
}
您的代码段中还有其他问题。首先,C++ 是一种区分大小写的语言,因此 PeekMessage()
的最后一个参数应该是 PM_REMOVE
而不是 PM_Remove
。
此外,PeekMessage()如果消息队列为空,则不会阻塞,因此您的代码最终将消耗 100% 的 CPU 内核。您可以使用 GetMessage()相反,它会在没有可用消息时阻塞,并允许您删除对 WM_QUIT
的显式测试:
MSG msg = { 0 };
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
关于c++ - Peekmessage(创建窗口循环),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16274162/
我目前正忙于在 Windows XP 的 C++ 应用程序之类的游戏中更改鼠标光标。 要更改光标,我正在使用 SetCursor() 并传入所需的光标,它正在工作。然而,在调用 PeekMessage
我得到了这个错误,我不知道为什么,我只是正确地按照他所做的去做,而他没有得到这个错误。这是代码。 //Main application loop MSG msg = {0};
我创建了一个自定义消息类型,用于调整我的 Window 的大小,称为 WM_NEED_RESIZE。我已经在我的 .h 文件中定义了它,并在我的 .cpp 文件中进行了初始化。我还注册了我的 Wind
我的 C++ 应用程序中有一个(静态)线程,它经常执行某些操作。为了在线程和我的应用程序之间交换信息,我使用方法 PostThreadMessage 和 PeekMessage。 由于某些原因,我不能
我有以下代码 SendApp,点击按钮[X]时,执行以下代码 HWND pHWndReceiveApp = FindWindowA(NULL, "ReceiveApp"); if (NULL
大家好 在我的应用程序中,我使用以下代码: bool HandleMessages() { MSG msg; if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
为什么在Getmessage()之前需要使用peekMessage语句来创建消息队列? 最佳答案 这不是必需的。 不过,您有时会看到一个线程尚未准备好处理消息,但它希望能够在其消息队列中接收消息。新线
我有一个简单的 (windows) 应用程序,它使用 CreateProcess 函数启动另一个应用程序。然后它通过使用 EnumWindows 和新创建进程的进程 ID 获得正确的 hwnd。 在获
我无法让 PeekMessage 工作。实际上,我希望它会向我发送大量消息,但它的返回值为 0。 我使用 WinForm,启动一个正在查看消息的后台线程,然后用鼠标使用窗口。该窗口像往常一样可用,但无
我打算创建一个带有 2 个窗口的小型应用程序,一个带有控件的普通窗口和一个使用 DirectX 渲染的 3D 窗口。对于 3D 窗口,建议使用 PeekMessage(),因为它不会在检查消息后等待,
关于: PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) If hWnd is NULL, PeekMessage retrieves messages for any
昨天我遇到了我见过的最奇怪的问题。我写了一个模块,应该在 USB 插头上收到通知。为此,我创建了一个虚拟窗口并使用某些界面的 GUID 将其注册到设备更改通知。 调用PeekMessage 时出现奇怪
我们的应用程序充当 COM 服务器,其中所有自动化都发生在单个 STA 单元内(在应用程序的主线程中),并且一些进行长时间(> 10 分钟)调用的 VBS 脚本失败并显示错误“系统调用失败(80010
我的代码中某处有一个循环函数,它调用 PeekMessage 以检索事件。 目前看起来是这样的: while (PeekMessage(&Message, NULL, 0, 0, PM_REMOVE)
在 Windows 中,可以在代码中运行事件 .. //PeekMessage loop example while (WM_QUIT != uMsg.message) { while (P
我在这里看了很多关于 PeekMessage 和 WM_MOUSEMOVE 的帖子,但到目前为止我还没有发现任何与性能相关的内容。 长话短说;我正在做 PC 游戏开发,昨天我注意到我可以将我们的应用程
我正在尝试在 Java 代码中接收 WM_HOTKEY 事件。我已经成功地使一些一次性代码正常工作,但我知道将 Java GUI 代码与 Windows 消息循环集成需要谨慎。 从 Windows 示
我是一名优秀的程序员,十分优秀!