0
我創建了一個ATL服務,並在測試我只是保持它被留下,而循環,永遠跑在運行(參見下面的代碼)什麼是保持ATL服務運行
HRESULT Run(_In_ int nShowCmd = SW_HIDE)
{
m_running = true;
HANDLE thread = (HANDLE)_beginthreadex(NULL, 0, &MyFunctionToRunInTheService, 0, 0, 0);
while(m_running);
return CAtlServiceModuleT::Run(nShowCmd);
}
林現在最好的辦法準備實際運行它作爲一個真正的服務,但我不知道如何去做這件事?我查看了下一個,似乎無法找到一個ATL服務的例子。
如果我刪除線程代碼並直接調用方法,服務將始終處於啓動狀態。如果我刪除循環,服務只需啓動並立即停止。任何消化?
這是正確的,沒有COM類,服務器退出從'PreMessageLoop'接收'S_FALSE'並且正確地修補它。 – 2013-05-03 16:23:10