社区
进程/线程/DLL
帖子详情
编写Windows服务的问题
zengkun100
2005-07-13 06:58:02
诸位:请给些参考资料。
我怎么觉得很难查到呀!
用API和ATL编写服务都可以。
...全文
208
8
打赏
收藏
编写Windows服务的问题
诸位:请给些参考资料。 我怎么觉得很难查到呀! 用API和ATL编写服务都可以。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kunyi
2005-07-22
打赏
举报
回复
TCHAR szPath[512];
if(!::GetModuleFileName(NULL,szPath,511))
{
return FALSE;
}
BOOL ret=FALSE;
SC_HANDLE scm=NULL;
SC_HANDLE srv=NULL;
scm=::OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);
if(scm)
{
DWORD* pdwTagID=((m_dwServiceType == SERVICE_KERNEL_DRIVER ||
m_dwServiceType == SERVICE_FILE_SYSTEM_DRIVER) &&
(m_dwStartType == SERVICE_BOOT_START ||
m_dwStartType == SERVICE_SYSTEM_START)) ?
&m_dwTagID : NULL;
srv=::CreateService(scm,
m_lpszServiceName,
m_lpszDisplayName,
m_dwDesiredAccess, //SERVICE_ALL_ACCESS
m_dwServiceType, //SERVICE_WIN32_OWN_PROCESS
m_dwStartType, //SERVICE_AUTO_START
m_dwErrorControl, //SERVICE_ERROR_NORMAL
szPath,
m_lpszLoadOrderGroup,
pdwTagID,
m_lpszDependencies,
m_lpszStartName,
m_lpszPassword);
if(srv)
{
ret=TRUE;
::CloseServiceHandle(srv);
}
::CloseServiceHandle(scm);
}
if(ret)
{
RegisterApplicationLog( szPath,
EVENTLOG_ERROR_TYPE|
EVENTLOG_WARNING_TYPE|
EVENTLOG_INFORMATION_TYPE);
AddToMessageLog(TEXT("服务已经安装"),EVENTLOG_INFORMATION_TYPE);
}
return ret;
gonch
2005-07-22
打赏
举报
回复
补充一下,只看CreateService函数的例子是不够的。还要看ServiceMain相关系列函数才行
leehq
2005-07-22
打赏
举报
回复
MSDN里的CreateService函数有M$的例子,你不会看吗?!
zengkun100
2005-07-16
打赏
举报
回复
再顶一下吧!
gonch
2005-07-15
打赏
举报
回复
MSDN
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/service_functions.asp
本来想贴例子上来了,但是找起来有些麻烦,只好说一下思路和主要的函数,参考一下MSDN里面的例子吧。
首先要注册service
OpenSCManager打开service管理器
CreateService创建service
CloseServiceHandle关闭service管理器
service的主程序
main中调用StartServiceCtrlDispatcher执行service的主函数
service的主函数中
RegisterServiceCtrlHandlerEx注册service控制函数
各个时点调用report(用SetServiceStatus实现)汇报service当前状态
OpenSCManager打开service管理器
OpenService打开service
service处理
CloseServiceHandle关闭service
CloseServiceHandle关闭service管理器
service控制程序
接受service管理器的信号(主要是停止信号),然后处理
sboom
2005-07-14
打赏
举报
回复
放飞技术网上有4篇文章,我的blog上有一篇文章。
zengkun100
2005-07-14
打赏
举报
回复
顶呀!
zengkun100
2005-07-13
打赏
举报
回复
自己顶一下
C++
编写
windows
服务
程序示例代码
使用C++
编写
的
windows
服务
程序示例代码,注释详尽,利用此模板可快速的将你现有程序移植为
windows
服务
器程序。
如何
编写
windows
服务
程序
如何
编写
windows
服务
程序 By:张鹏/Hikvision 这两天想学习关于如何
编写
windows
服务
程序的知识,就上网查了些资料。看了一篇文章《用C 语言
编写
Windows
服务
程序的五个步骤》。但可能由于译者的疏忽,忘记了将关键...
C++语言
编写
windows
服务
C++语音
编写
windows
服务
1
windows
服务
2 DebugView调试工具 3 c语言
编写
windows
服务
4 将程序作为
windows
服务
1、
windows
服务
通过快捷键”win+R”打开运行框,输入”services.msc”,就能够打开
windows
服务
。鼠标...
Qt
编写
Windows
服务
程序
基于qt-solutions/qtservice
编写
Windows
服务
程序 步骤一:下载 qtservice 源码,下载地址为https://github.com/qtproject/qt-solutions/tree/master/qtservice。 步骤二:将 qtservice/src/qtservice.pri 添加至...
基于MFC
编写
Windows
服务
程序
近期由于项目需要,
编写
了一个基于MFC对话框的
Windows
服务
程序,现把方法和大家分享一下,希望高手指正。程序实现的基本功能如下: 1、 注册为
Windows
服务
程序,随系统启动 2、 作为
服务
端,提供客户端的连接...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章