用VC++ 7.0 ATL项目向导生成后得到几行代码:
class CTestATL2Module : public CAtlServiceModuleT< CTestATL2Module, IDS_SERVICENAME >
{
public : DECLARE_LIBID(LIBID_TestATL2Lib)
DECLARE_REGISTRY_APPID_RESOURCEID(IDR_TESTATL2, "{F43C940A-BCA8-4F94-A5F1-0BE3A7E55606}")
};CTestATL2Module _AtlModule;
//
extern "C" int WINAPI _tWinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/,
LPTSTR /*lpCmdLine*/, int nShowCmd)
{
return _AtlModule.WinMain(nShowCmd);};察看相关文档发现 OnStop之类的可以override,但是run或者其他的并没有说明。
1、是不是在class里面声明
virtual void OnStop();
接下来实现就可以了?
run函数呢?
2、谁能提供相关的例子代码?
class CTestATL2Module : public CAtlServiceModuleT< CTestATL2Module, IDS_SERVICENAME >
{
public : DECLARE_LIBID(LIBID_TestATL2Lib)
DECLARE_REGISTRY_APPID_RESOURCEID(IDR_TESTATL2, "{F43C940A-BCA8-4F94-A5F1-0BE3A7E55606}")
};CTestATL2Module _AtlModule;
//
extern "C" int WINAPI _tWinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/,
LPTSTR /*lpCmdLine*/, int nShowCmd)
{
return _AtlModule.WinMain(nShowCmd);};察看相关文档发现 OnStop之类的可以override,但是run或者其他的并没有说明。
1、是不是在class里面声明
virtual void OnStop();
接下来实现就可以了?
run函数呢?
2、谁能提供相关的例子代码?
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=194346
另外,用vc++7.0 生成的框架(没有加任何代码)直接注册后,在windows service里面可以看到,但是启动时报错:在本地计算机无法启动xx服务,错误5,拒绝访问。
请问是什么原因?
在本地计算机无法启动xx服务,服务并未返回错误,这可能是一个windows内部错误或者服务内部错误,如果服务持续存在,请与系统管理员联系。很奇怪啊,我设置的登录账号和我现在登录的是一致的,照理说会报一样的错,怎么变掉了。今天要交差,请各位多多帮忙。