社区
进程/线程/DLL
帖子详情
编写Windows服务的问题
zengkun100
2005-07-13 06:58:02
诸位:请给些参考资料。
我怎么觉得很难查到呀!
用API和ATL编写服务都可以。
...全文
214
8
打赏
收藏
编写Windows服务的问题
诸位:请给些参考资料。 我怎么觉得很难查到呀! 用API和ATL编写服务都可以。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
自己顶一下
得到计算机上
Windows
目录和系统目录
得到计算机上
Windows
目录和系统目录
ws2_32.lib.zip
ws2_32.lib.zip 包含ws2_32.dll和ws2_32.lib 所在路径; C:\Program Files\Microsoft SDKs\
Windows
\v7.0A\Lib
得到操作系统的版本
得到操作系统的版本
如何
编写
windows
服务
程序
如何
编写
windows
服务
程序 By:张鹏/Hikvision 这两天想学习关于如何
编写
windows
服务
程序的知识,就上网查了些资料。看了一篇文章《用C 语言
编写
Windows
服务
程序的五个步骤》。但可能由于译者的疏忽,忘记了将关键代码放入该文档,导致初学者可能会看不懂。所以又查阅了相关资料。自己完成了《用C 语言
编写
Windows
服务
程序的五个步骤》中的样例程序。 在本文中我希望能给
Rust
编写
Windows
服务
编写
Windows
服务
可选语言很多, 其中C#最简单。本着练手Rust语言,尝试用Rust
编写
一个
服务
。中ping-service示例提取了一个模板,只有替换
编写
两处/* */代码。笔记本策略经常恢复到合上盖子睡眠功能,写个小
服务
定时设置合上盖子不做任何操作。逻辑比较简单,定时调用WinAPI函数。获取配置信息,不符合当前设置执行修改。参考官网C/C++创建
服务
流程。
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章