peekmessage

    3热度

    1回答

    我打算创建一个带有两个窗口的小应用程序,一个带有控件的正常窗口和一个使用DirectX呈现的3D窗口。对于3D窗口,推荐使用PeekMessage(),因为它在检查消息之后不等待,但是对于正常窗口(不进行3D渲染),则使用GetMessage()函数来避免处理器无意识的过度使用。 因此,当3D窗口处于活动状态(接收到WM_ACTIVE消息)时,我想使用PeekMessage(),并且当正常窗口处于

    1热度

    2回答

    我使用这个gamedev.stackexchange线程讨论的游戏循环时: https://gamedev.stackexchange.com/questions/67651/what-is-the-standard-c-windows-forms-game-loop 一切是伟大的工作,如果我使用调试版本类型,但是当我去要做Release,我得到一个空引用异常。看起来只有在启用代码优化时才会发生。

    1热度

    1回答

    // Main message loop MSG msg; ZeroMemory(&msg, sizeof(msg)); while(msg.message!=WM_QUIT) { if(PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE)) { TranslateMes

    1热度

    1回答

    我目前正忙于在像Windows XP的C++应用程序这样的游戏中更改鼠标光标。 要更改光标,我正在使用SetCursor()并传入正在工作的所需光标。但是,在调用PeekMessage()的while循环期间,光标不断重置为默认箭头。 这是有问题的循环: MSG msg; while(PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE)) { Tran

    1热度

    2回答

    我无法使PeekMessage正常工作。其实我希望它用信息泛滥我,但它的返回值是0. 我使用WinForm,启动后台线程偷看消息和使用鼠标窗口。该窗口可以像往常一样使用,但不会有消息被窥视。我究竟做错了什么 ?最后的错误一直是0。 [StructLayout(LayoutKind.Sequential)] public struct NativeMessage { public In

    1热度

    3回答

    我创建了一个多线程应用程序。应用程序窗口(W [n]:TMyWindows)都是相同的,并且都有一个与它们关联的私有对象类实例(E:TMyObject)。 子窗口通过此对象生成一些消息。我在主应用程序中创建了两个根据消息内容处理这些消息的线程。例如,您有以下异步调用: W[1].E.Service(thread1service) W[2].E.Service(thread2service)

    0热度

    2回答

    更新: 我认为这是Windsows.hi需要包括和你已经证实了这一点,但是当我包括它时,我收到了一堆消息,如下所示。 .. 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5934) : error C2872: 'IDataObject' : ambiguous symbol 1> could be 'C:\P

    0热度

    1回答

    我看过一篇MSDN文章,彻底困惑: HWND hwnd; BOOL fDone; MSG msg; // Begin the operation and continue until it is complete // or until the user clicks the mouse or presses a key. fDone = FALSE; while (!fDone)

    1热度

    1回答

    我有以下代码 SendApp,当点击按钮[X],下面的代码执行 HWND pHWndReceiveApp = FindWindowA(NULL, "ReceiveApp"); if (NULL == pHWndReceiveApp) { MessageBox(0, MSG_FAIL, CAPTION, 0); return; } fo

    0热度

    1回答

    我有一个使用DSPACK组件库在Delphi 6中编写的DirectShow过滤器。它是一个推送源视频过滤器,它从我也写过的外部协作过程中接收其源帧。 当调用我的Filters'FillBuffer()调用的工作线程被创建并运行时,当图形启动时,我从该工作线程执行的第一件事就是使用AllocateHWND()来处理WM_COPYDATA消息包含外部生成的帧。在线程被销毁之前,我摧毁了隐藏的窗口。换