アプリをWindowsサービス上で動かした時のタイマー処理禁忌事項について

[戻る]
あらら 2009/09/10(木) 14:47:02
VC2003 MFCです。

アプリをWindowsサービス上で動かした時、処理がフリーズします。
原因としてWindowsサービス上で動作させた場合のタイマー処理に何か禁忌事項があるの
ではと指摘され調べているのですが特定できません。

何かお気づきの点ございましたらご教授願います。

以下ソースの抜粋です。

BEGIN_MESSAGE_MAP(Cxxx,CFrameWnd)
    ON_WM_TIMER()
END_MESSAGE_MAP()

::SetTimer(TIMER_ID, 60 * 1000, NULL);

void Cxxx::OnTimer(UINT nIDEvent)
{
    if ( nIDEvent == TIMER_ID)
    {
             KillTimer(nIDEvent) )
             //処理
    }
}


よろしくお願いします。

ISLe 2009/09/10(木) 23:58:51
MFCを使っているということはウィンドウを表示しているということですよね。
『デスクトップとの対話』を『許可』したサービスでないとウィンドウが表示されない
のでタイマーイベントを受け取れなくなっているということではないでしょうか?

古いスレッドには追加発言できません。