📄 warwin32ntservice.h
字号:
/** NT service implementation. Shamelessy stolen from the MSDN sample "Creating a Simple Win32 Service in C++" by Nigel Thompson.*/#ifndef WAR_WIN32_NT_SERVICE_H#define WAR_WIN32_NT_SERVICE_H/* SYSTEM INCLUDES *//* PROJECT INCLUDES *//* LOCAL INCLUDES *//* FORWARD REFERENCES */#ifdef __cplusplusextern "C" {#endif/****************** BEGIN OLD STYLE C spesific ********/#define WAR_SERVICE_CONTROL_USER 128/****************** END OLD STYLE C spesific **********/#ifdef __cplusplus }#endif/****************** BEGIN C++ spesific ****************/#ifdef __cplusplusclass WarWin32NtService {public: // LIFECYCLE WarWin32NtService(const TCHAR* szServiceName); virtual ~WarWin32NtService(); // OPERATORS // OPERATIONS BOOL IsInstalled(); BOOL Install(LPCTSTR szVisualName = NULL, LPCTSTR szCommandArgs = NULL, bool doAutostartWhenBoot = false, LPCTSTR szUserAccountName = NULL, LPCTSTR szAccountpassword = NULL); BOOL Uninstall(); BOOL StartService(); void SetStatus(DWORD dwState); BOOL Initialize(); // ACCESS // INQUIRY protected: virtual void Run() = 0; virtual BOOL OnInit(); virtual void OnStop(); virtual void OnInterrogate(); virtual void OnPause(); virtual void OnContinue(); virtual void OnShutdown(); virtual BOOL OnUserControl(DWORD dwOpcode); TCHAR mszServiceName[64]; int miMajorVersion; int miMinorVersion; SERVICE_STATUS_HANDLE mhServiceStatus; SERVICE_STATUS mStatus; BOOL mbIsRunning;private: static void WINAPI ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv); static void WINAPI Handler(DWORD dwOpcode); static WarWin32NtService* mpThis; // nasty hack to get object ptr};/* INLINE METHODS *//* EXTERNAL REFERENCES */#endif /* __cplusplus *//****************** END C++ spesific ******************/#endif /* WAR_WIN32_NT_SERVICE_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -