后台服务

tomcat119 2007-01-04 10:31:18
我写了一个后台服务程序,这个后台服务程序又调用了另外一个dll。
该服务程序启动后,在Services.exe里可以看到两个dll都在运行。但是经过一段时间后,后台服务程序正常,而另外的那个dll就不在Services.exe进程空间了。

不知道为什么?
...全文
155 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chrys2000 2007-09-27
  • 打赏
  • 举报
回复
我将 dopod 刷成简体中文系统问题解决。可为什么繁体中文的Windows Mobile 5.0就不能注册和启动服务呢?
chrys2000 2007-09-24
  • 打赏
  • 举报
回复
WinCE 下的服务程序无法用 RegisterService()函数注册,也无法用 ActivateService() 函数来启动

我按照微软的文档说明上写了一个非常简单的服务程序:

extern "C" DWORD PASCAL EXPORT XHW_Init(DWORD dwData)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
DWORD dwThreadID = 0;
CreateThread ( NULL, 0, ProcThread, NULL, 0, &dwThreadID );
dwData = 1;

return 1;
}

其他导出函数都按照微软的例子没有做任何修改,但是我用 RegisterService() 注册服务时返回 代码5“访问被拒绝”的错误,我又按照文档说明在注册表中加入了服务注册项如下:
REGEDIT4

[HKEY_LOCAL_MACHINE\Services\XHWSVR]
"Order"=dword:00000008
"Dll"="XhwSvr.dll"
"Prefix"="XHW "
"DisplayName"="XHW Service"
"Description"="XieHongWei's Service"
"IsEnabled"=dword:00000001
"Keep"=dword:00000001
"Index"=dword:00000000

我将 SmartPhone 系统重启后用 ActivateService() 函数激活服务却返回错误代码2(文件找不到),代码如下:

HANDLE hd = ActivateService(L"BTAGSVC", 0) ;
if ( hd != NULL )
{
AfxMessageBox ( L" 成功启动服务" );
}
else
{
TCHAR szBuf[80];
wsprintf(szBuf, L"Failed with error %d", GetLastError() );
AfxMessageBox(szBuf);
return FALSE;
}


我已经将“XhwSvr.dll”文件拷贝到 “\Windows”目录下了,实在没办法,我将“XhwSvr.dll”文件拷贝到系统根目录下,但是问题依旧,请高手指点。


tomcat119 2007-09-20
  • 打赏
  • 举报
回复
解决了

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧