<?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[Regelmäßig bestimmte Funktion aufrufen]]></title><description><![CDATA[<p>Ich schreibe eine Win32 DLL (ohne Fenster nur u.a. mit einer Klasse &quot;Scanner&quot;). In der Klasse Scanner ist eine Methode StartScan(), nach deren Aufruf alle 500ms eine Funktion aufegrufen werden soll. Da dachte ich mir, dass ich das mit SetTimer() machen kann. Also hab ich in der StartScan()-Methode</p>
<pre><code class="language-cpp">timer = SetTimer(NULL, 0, 500, TimerProc);
</code></pre>
<p>aufgerufen (timer ist eine Membervariable des Scanner-Objekts.<br />
TimerProc hab ich als freie Funktion wie folgt definiert:</p>
<pre><code class="language-cpp">VOID CALLBACK TimerProc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
</code></pre>
<p>Scheint aber nicht zu funktionieren... die TimerProc-Funktion wird nie aufgerufen, obwohl die SetTimer-Funktion einen korrekten timer-Identifier zurückgibt.</p>
<p>Was mache ich falsch. Und gibtes vielleicht andere Möglichkeiten das beschriebene Problem zu lösen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/95603/regelmäßig-bestimmte-funktion-aufrufen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 17:09:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/95603.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Dec 2004 15:38:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Regelmäßig bestimmte Funktion aufrufen on Tue, 21 Dec 2004 15:38:57 GMT]]></title><description><![CDATA[<p>Ich schreibe eine Win32 DLL (ohne Fenster nur u.a. mit einer Klasse &quot;Scanner&quot;). In der Klasse Scanner ist eine Methode StartScan(), nach deren Aufruf alle 500ms eine Funktion aufegrufen werden soll. Da dachte ich mir, dass ich das mit SetTimer() machen kann. Also hab ich in der StartScan()-Methode</p>
<pre><code class="language-cpp">timer = SetTimer(NULL, 0, 500, TimerProc);
</code></pre>
<p>aufgerufen (timer ist eine Membervariable des Scanner-Objekts.<br />
TimerProc hab ich als freie Funktion wie folgt definiert:</p>
<pre><code class="language-cpp">VOID CALLBACK TimerProc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
</code></pre>
<p>Scheint aber nicht zu funktionieren... die TimerProc-Funktion wird nie aufgerufen, obwohl die SetTimer-Funktion einen korrekten timer-Identifier zurückgibt.</p>
<p>Was mache ich falsch. Und gibtes vielleicht andere Möglichkeiten das beschriebene Problem zu lösen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/678040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678040</guid><dc:creator><![CDATA[FrodoSix]]></dc:creator><pubDate>Tue, 21 Dec 2004 15:38:57 GMT</pubDate></item><item><title><![CDATA[Reply to Regelmäßig bestimmte Funktion aufrufen on Tue, 21 Dec 2004 15:46:06 GMT]]></title><description><![CDATA[<p>Du brauchst auf jeden Fall eine Nachrichtenschleife damit es funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/678044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678044</guid><dc:creator><![CDATA[Trolli]]></dc:creator><pubDate>Tue, 21 Dec 2004 15:46:06 GMT</pubDate></item><item><title><![CDATA[Reply to Regelmäßig bestimmte Funktion aufrufen on Tue, 21 Dec 2004 15:50:21 GMT]]></title><description><![CDATA[<p>Und wie bekomme ich die ohne Fenster?</p>
<p>Oder gibt's sonst noch eine Möglichkeit eine Funktion in einem bestimmten Zeitabstand aufzurufen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/678048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678048</guid><dc:creator><![CDATA[FrodoSix]]></dc:creator><pubDate>Tue, 21 Dec 2004 15:50:21 GMT</pubDate></item><item><title><![CDATA[Reply to Regelmäßig bestimmte Funktion aufrufen on Tue, 21 Dec 2004 15:50:33 GMT]]></title><description><![CDATA[<p>Trolli schrieb:</p>
<blockquote>
<p>Du brauchst auf jeden Fall eine Nachrichtenschleife damit es funktioniert.</p>
</blockquote>
<p>bsp:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/timers/usingtimers.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/timers/usingtimers.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/678049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678049</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 21 Dec 2004 15:50:33 GMT</pubDate></item><item><title><![CDATA[Reply to Regelmäßig bestimmte Funktion aufrufen on Tue, 21 Dec 2004 15:58:55 GMT]]></title><description><![CDATA[<p>miller_m schrieb:</p>
<blockquote>
<p>Trolli schrieb:</p>
<blockquote>
<p>Du brauchst auf jeden Fall eine Nachrichtenschleife damit es funktioniert.</p>
</blockquote>
<p>bsp:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/timers/usingtimers.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/timers/usingtimers.asp</a></p>
</blockquote>
<p>Tja wie gesagt, ich hab in der DLL kein Fenster (und will auch keines) und somit auch keine Nachrichtenschleife. Die DLLMain verarbeitet ja wohl keine Nachrichten, oder doch?</p>
<p>Jetzt mal von SetTimer abgesehen... Es muß doch irgendeine Möglichkeit, Funktion oder was weiß ich geben, die nicht mit WM_TIMER Nachrichten arbeitet, sondern einfach das tut, was ich will. Eine Funktion alle paar Millisekunden aufrufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/678058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678058</guid><dc:creator><![CDATA[FrodoSix]]></dc:creator><pubDate>Tue, 21 Dec 2004 15:58:55 GMT</pubDate></item><item><title><![CDATA[Reply to Regelmäßig bestimmte Funktion aufrufen on Tue, 21 Dec 2004 16:19:38 GMT]]></title><description><![CDATA[<p>Fenster brauchst du nicht.</p>
<p>Ich denke mal es könnte mit einem seperaten Thread funktionieren der den Timer startet und dann die Nachrichten verarbeitet. (GetMessage/DispatchMessage)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/678070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678070</guid><dc:creator><![CDATA[Trolli]]></dc:creator><pubDate>Tue, 21 Dec 2004 16:19:38 GMT</pubDate></item><item><title><![CDATA[Reply to Regelmäßig bestimmte Funktion aufrufen on Tue, 21 Dec 2004 16:20:54 GMT]]></title><description><![CDATA[<p>und was spricht gegen ein verstecktes fenster?</p>
<p>// oder so wie trolli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/678072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678072</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 21 Dec 2004 16:20:54 GMT</pubDate></item><item><title><![CDATA[Reply to Regelmäßig bestimmte Funktion aufrufen on Tue, 21 Dec 2004 16:21:17 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>nimm einen Thread, suche nach _beginthreadex.<br />
_beginthreadex erfordert einen Paramter welcher die Adresse einer Funktion ist.<br />
In dieser Funktion, kannst Du dann in einer Schleife und Sleep Deine Scans verarbeiten.</p>
<p>MfG<br />
RB</p>
]]></description><link>https://www.c-plusplus.net/forum/post/678073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678073</guid><dc:creator><![CDATA[RED-BARON]]></dc:creator><pubDate>Tue, 21 Dec 2004 16:21:17 GMT</pubDate></item><item><title><![CDATA[Reply to Regelmäßig bestimmte Funktion aufrufen on Tue, 21 Dec 2004 16:31:44 GMT]]></title><description><![CDATA[<p>RED-BARON schrieb:</p>
<blockquote>
<p>hallo,</p>
<p>nimm einen Thread, suche nach _beginthreadex.<br />
_beginthreadex erfordert einen Paramter welcher die Adresse einer Funktion ist.<br />
In dieser Funktion, kannst Du dann in einer Schleife und Sleep Deine Scans verarbeiten.</p>
<p>MfG<br />
RB</p>
</blockquote>
<p>Hm, stimmmt... so könnte ich es vielleicht mal probieren. Danke sehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/678082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/678082</guid><dc:creator><![CDATA[FrodoSix]]></dc:creator><pubDate>Tue, 21 Dec 2004 16:31:44 GMT</pubDate></item></channel></rss>