<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[PeekMessage verarbeitet Nachrichten]]></title><description><![CDATA[<p>Hi!<br />
Ich habe ein komisches Problem: Ich habe eine Nachrichtenschleife (ist zwar in MFC, aber ich glaube, das hat mit dem Problem eigentlich nichts zu tun), und in dieser wird PeekMessage aufgerufen. Nun habe ich die komische Situation, dass während die Funktion in PeekMessage steht, weitere Fensternachrichten von mir verarbeitet werden.<br />
So sieht der Call-Stack aus:</p>
<blockquote>
<p>EditListCtrlDlg!CMyEditListCtrl::StopEdit<br />
EditListCtrlDlg!::::CMySlider::WindowProc+0x2e<br />
MFC42D!AfxCallWndProc+0xed<br />
MFC42D!AfxWndProc+0xad<br />
**MFC42D!AfxWndProcBase+0x4a<br />
USER32!UserCallWinProc+0x18<br />
**USER32!CallWindowProcAorW+0x94<br />
USER32!CallWindowProcW+0x19<br />
COMCTL32!CallOriginalWndProc+0x18<br />
COMCTL32!CallNextSubclassProc+0x58<br />
COMCTL32!DefSubclassProc+0x58<br />
COMCTL32!TTSubclassProc+0x57<br />
COMCTL32!CallNextSubclassProc+0x58<br />
COMCTL32!MasterSubclassProc+0x97<br />
USER32!UserCallWinProc+0x18<br />
USER32!DispatchClientMessage+0x4b<br />
USER32!__fnDWORD+0x22<br />
ntdll!KiUserCallbackDispatcher+0x13<br />
USER32!_PeekMessage+0x72<br />
**USER32!PeekMessageA+0xe9<br />
MFC42D!CWnd::RunModalLoop+0x298<br />
**EditListCtrlDlg!CMyEditListCtrl::OnBeginLabelEdit+0x35a<br />
EditListCtrlDlg!CEditListCtrl::OnDelayedLabelEdit+0x35<br />
MFC42D!CWnd::OnWndMsg+0x69a<br />
MFC42D!CWnd::WindowProc+0x2e<br />
EditListCtrlDlg!CMyEditListCtrl::WindowProc+0x52<br />
MFC42D!AfxCallWndProc+0xed<br />
MFC42D!AfxWndProc+0xad<br />
MFC42D!AfxWndProcBase+0x4a<br />
USER32!UserCallWinProc+0x18<br />
USER32!DispatchMessageWorker+0x2e4<br />
USER32!DispatchMessageA+0xb<br />
MFC42D!CWinThread::PumpMessage+0x100<br />
MFC42D!CWnd::RunModalLoop+0x202<br />
MFC42D!CDialog::DoModal+0x191<br />
EditListCtrlDlg!CEditListCtrlDlgApp::InitInstance+0x63<br />
MFC42D!AfxWinMain+0x83<br />
EditListCtrlDlg!WinMain+0x18<br />
EditListCtrlDlg!WinMainCRTStartup+0x1b3<br />
KERNEL32!BaseProcessStart+0x3d</p>
</blockquote>
<p>Wie kann das sein? Ich dachte, PeekMessage schaut lediglich mal kurz nach, ob es eine Nachricht gibt, und sonst nichts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/77314/peekmessage-verarbeitet-nachrichten</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 17:39:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77314.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Jun 2004 20:51:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to PeekMessage verarbeitet Nachrichten on Sat, 19 Jun 2004 20:59:15 GMT]]></title><description><![CDATA[<p>Hi!<br />
Ich habe ein komisches Problem: Ich habe eine Nachrichtenschleife (ist zwar in MFC, aber ich glaube, das hat mit dem Problem eigentlich nichts zu tun), und in dieser wird PeekMessage aufgerufen. Nun habe ich die komische Situation, dass während die Funktion in PeekMessage steht, weitere Fensternachrichten von mir verarbeitet werden.<br />
So sieht der Call-Stack aus:</p>
<blockquote>
<p>EditListCtrlDlg!CMyEditListCtrl::StopEdit<br />
EditListCtrlDlg!::::CMySlider::WindowProc+0x2e<br />
MFC42D!AfxCallWndProc+0xed<br />
MFC42D!AfxWndProc+0xad<br />
**MFC42D!AfxWndProcBase+0x4a<br />
USER32!UserCallWinProc+0x18<br />
**USER32!CallWindowProcAorW+0x94<br />
USER32!CallWindowProcW+0x19<br />
COMCTL32!CallOriginalWndProc+0x18<br />
COMCTL32!CallNextSubclassProc+0x58<br />
COMCTL32!DefSubclassProc+0x58<br />
COMCTL32!TTSubclassProc+0x57<br />
COMCTL32!CallNextSubclassProc+0x58<br />
COMCTL32!MasterSubclassProc+0x97<br />
USER32!UserCallWinProc+0x18<br />
USER32!DispatchClientMessage+0x4b<br />
USER32!__fnDWORD+0x22<br />
ntdll!KiUserCallbackDispatcher+0x13<br />
USER32!_PeekMessage+0x72<br />
**USER32!PeekMessageA+0xe9<br />
MFC42D!CWnd::RunModalLoop+0x298<br />
**EditListCtrlDlg!CMyEditListCtrl::OnBeginLabelEdit+0x35a<br />
EditListCtrlDlg!CEditListCtrl::OnDelayedLabelEdit+0x35<br />
MFC42D!CWnd::OnWndMsg+0x69a<br />
MFC42D!CWnd::WindowProc+0x2e<br />
EditListCtrlDlg!CMyEditListCtrl::WindowProc+0x52<br />
MFC42D!AfxCallWndProc+0xed<br />
MFC42D!AfxWndProc+0xad<br />
MFC42D!AfxWndProcBase+0x4a<br />
USER32!UserCallWinProc+0x18<br />
USER32!DispatchMessageWorker+0x2e4<br />
USER32!DispatchMessageA+0xb<br />
MFC42D!CWinThread::PumpMessage+0x100<br />
MFC42D!CWnd::RunModalLoop+0x202<br />
MFC42D!CDialog::DoModal+0x191<br />
EditListCtrlDlg!CEditListCtrlDlgApp::InitInstance+0x63<br />
MFC42D!AfxWinMain+0x83<br />
EditListCtrlDlg!WinMain+0x18<br />
EditListCtrlDlg!WinMainCRTStartup+0x1b3<br />
KERNEL32!BaseProcessStart+0x3d</p>
</blockquote>
<p>Wie kann das sein? Ich dachte, PeekMessage schaut lediglich mal kurz nach, ob es eine Nachricht gibt, und sonst nichts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/543949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/543949</guid><dc:creator><![CDATA[tag]]></dc:creator><pubDate>Sat, 19 Jun 2004 20:59:15 GMT</pubDate></item></channel></rss>