SKY外语计算机学习
标题:
Service
[打印本页]
作者:
1046945059
时间:
2013-6-5 10:03
标题:
Service
作者:
1046945059
时间:
2013-6-5 10:04
#pragma once
#define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的信息
// Windows 头文件:
#include <winsock2.h>
#include <tchar.h>
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "mswsock.lib")
class CService
{
public:
CService(void);
~CService(void);
bool Install(LPCTSTR ServiceName);
////VOID Install(LINGER ServiceName);
VOID CtrlHandlerCallback(DWORD opCode);
VOID RunCallback(DWORD argumentCount , LPTSTR *arguments);
private:
TCHAR mServiceName[MAX_PATH];
};
.CPP
#pragma once
#include"Service.h"
/*VOID WINAPI RunCallback(DWORD argumentCount , LPTSTR *arguments)
{
Service.RunCallback(argumentCount , arguments);
return;
}
VOID WINAPI CtrlHandlerCallback(DWORD opCode)
{
Service.CtrlHandlerCallback(opCode);
return;
}
CService::CService(void)
{
}
CService::~CService(void)
{
}
*/
bool CService::Install(LPCTSTR ServiceName)
{
TCHAR ServiceFileName [MAX_PATH] = {0,}; //MAX_PATH
SC_HANDLE ServiceControlManager = NULL;
SC_HANDLE ServiceHandle = NULL;
if (!ServiceName) return FALSE;
//获得运行文件的名称
ServiceFileName [0] = ' "';
GetModuleFileName(NULL, ServiceFileName + 1, MAX_PATH - 1) ;
_tcscat_s(ServiceFileName, MAX_PATH, _T("\"")) ;
//通过Service创建选项打开SCM
ServiceControlManager = OpenSCManager (NULL, NULL, SC_MANAGER_CREATE_SERVICE) ;
if ( !ServiceControlManager) return FALSE;
//Service创建为SERVICE_WIN32_OWN_PROCESS形态
CreateService( ServiceControlManager,
ServiceName, //Service名称
ServiceName, //显示的名称设置为一致。
SERVICE_ALL_ACCESS, //可以进行所有的访问
SERVICE_WIN32_OWN_PROCESS, //WIN 32形态的文件
SERVICE_DEMAND_START,
SERVICE_ERROR_NORMAL,
ServiceFileName,
NULL,
NULL,
NULL,
NULL,
NULL);
//创建成功时返回
if ( !ServiceHandle) {
//失败
CloseServiceHandle(ServiceControlManager) ; return FALSE;
}
//关闭使用的句柄
CloseServiceHandle(ServiceHandle) ;
CloseServiceHandle(ServiceControlManager) ;
return TRUE;
}
/*void main ()
{
}
*/
作者:
2012
时间:
2013-6-14 16:18
打浆来了·
作者:
rogan
时间:
2013-6-14 22:51
你的问题是什么呢
作者:
格式化
时间:
2013-6-29 00:36
没有问题!
作者:
骏马
时间:
2013-9-9 09:02
作者:
一米阳光
时间:
2013-10-2 09:03
哈哈哈,布吉岛
欢迎光临 SKY外语计算机学习 (http://join.skywj.com/)
Powered by Discuz! X2.5