Как превратить консольную программу Windows на программы службы Windows?
В моем VC++ я закончил писать код консоли windows. Но теперь я должен преобразовать его в служебный код windows.
Поэтому я изменил некоторый код в этой консольной программе следующим образом
#include <winsvc.h> int main() { SERVICE_TABLE_ENTRY ste[] = { {_T("TEST Win"}, (LPSERVICE_MAIN_FUNCTION) MyTestWindows}, }; StartServiceCtrlDisplatcher(ste); return 0; }
и в MyTestWindows () я закодировал следующим образом.
void MyTestWindows() { g_hSrv = RegisterServiceCtrlHandler(_T("TestWin"), LPHANDLER_FUNCTION)MyServiceHandler); if (g_hSrv == 0) return; MyServiceSet(SERVICE_START_PENDING); g_bPause = FALSE; g_ExitEvent = CreateEvent(NULL, TRUE, FALSE, _T("TESTWINSTATUS"); MyServiceSet(SERVICE_RUNNING); // This is same of windows console program... MyServiceSet(SERVICE_STOPPED); return; }
Но когда я запускаю эту программу, ни один поток или служба windows не работают. Он молчит....?
Пожалуйста, дайте мне знать, в чем заключается моя вина в этом кодировании и решении.
Заранее спасибо.
Что я уже пробовал:
Еще 2 дня потрачено впустую на эту проблему.
Suvendu Shekhar Giri
Есть успехи с отладкой?