atl服务程序启动问题

jackshenbin 2005-07-21 10:27:26
不重起运行服务能成功,但重起后服务管理器那里显示服务启动了,
进程管理器也该exe程序进程,但里面的过程没有执行,事件查看器
里显示
事件 ID ( 0 )的描述(在资源( MyService )中)无法找到。
本地计算机可能没有必要的注册信息或消息 DLL 文件来从远端计算机显示消息。
您可能可以使用 /AUXSOURCE= 标识来检索词描述;查看帮助和支持以了解详细信息。
下列信息是事件的一部分: Service started.
CreateService中设为SERVICE_AUTO_START
不知道为什么,请高手回答,谢谢
...全文
745 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
loakia 2006-04-22
  • 打赏
  • 举报
回复
up
idAnts 2005-07-28
  • 打赏
  • 举报
回复
放install干什么,放这个没用,放你实现功能的那段代码,并且最好放上调用它的那段代码。
chenkicker 2005-07-28
  • 打赏
  • 举报
回复
inline BOOL CServiceModule::Install()
{
if (IsInstalled())
return TRUE;

SC_HANDLE hSCM = ::OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if (hSCM == NULL)
{
MessageBox(NULL, _T("Couldn't open service manager"), m_szServiceName, MB_OK);
return FALSE;
}

// Get the executable file path
TCHAR szFilePath[_MAX_PATH];

::GetModuleFileName(NULL, szFilePath, _MAX_PATH);
//AfxMessageBox(szFilePath);
SC_HANDLE hService = ::CreateService(
hSCM, m_szServiceName, m_szServiceName,
SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS,
SERVICE_AUTO_START, SERVICE_ERROR_NORMAL,
szFilePath, NULL, NULL,NULL, NULL, NULL);

if (hService == NULL)
{
::CloseServiceHandle(hSCM);
MessageBox(NULL, _T("Couldn't create service"), m_szServiceName, MB_OK);
return FALSE;
}

::CloseServiceHandle(hService);
::CloseServiceHandle(hSCM);
return TRUE;
}

默认是这样的阿
亿云力科技 2005-07-26
  • 打赏
  • 举报
回复
Windows Service的当前路径是C:\windows\system32而不是服务的可执行程序所在的路径,所以如果你调用类似GetCurrentDirectory()就会友问题。需要调用GetModuleFileName()然后将文件名字去掉来得到服务的可执行程序所在的路径.
chenkicker 2005-07-25
  • 打赏
  • 举报
回复
在run()里面创建文件夹重起后没发现文件夹,但直接运行exe就创建成功了


不明白
idAnts 2005-07-23
  • 打赏
  • 举报
回复
你代码贴上来
AntonlioX 2005-07-23
  • 打赏
  • 举报
回复
up
jackshenbin 2005-07-23
  • 打赏
  • 举报
回复
好象放在windows/system32目录下就可以了!
回复人: goodboyws(深夜不眠者) ( ) 信誉:92 2005-07-22 12:20:00 得分: 0


文件的相对路径问题


goodboyws(深夜不眠者)说的是这个问题吗!
jackshenbin 2005-07-23
  • 打赏
  • 举报
回复
急啊!!!!!!!!!!!!!
jackshenbin 2005-07-22
  • 打赏
  • 举报
回复
请再说清楚点好吗!谢谢了!!
goodboyws 2005-07-22
  • 打赏
  • 举报
回复
文件的相对路径问题
jackshenbin 2005-07-22
  • 打赏
  • 举报
回复
在run()里面创建文件夹重起后没发现文件夹,但直接运行exe就创建成功了
idAnts 2005-07-22
  • 打赏
  • 举报
回复
这个东西放在你程序的什么位置?什么时候运行?
jackshenbin 2005-07-22
  • 打赏
  • 举报
回复
"里面的过程"是建文件夹,写文件的操作
nelsonc 2005-07-22
  • 打赏
  • 举报
回复
你说得不清楚,能否再详细些?
亿云力科技 2005-07-22
  • 打赏
  • 举报
回复
你是怎么判断“里面的过程没有执行”?
VCSQLVB 2005-07-22
  • 打赏
  • 举报
回复
不太清楚,你可以说得清楚些。
idAnts 2005-07-22
  • 打赏
  • 举报
回复
不知道你的“里面的过程”是放在程序的什么位置了?
xqk 2005-07-22
  • 打赏
  • 举报
回复
up
chenkicker 2005-07-22
  • 打赏
  • 举报
回复
up

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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