如何注册一个windows 服务

theendname 2007-06-18 03:43:49
在vs 2005 C++
并且服务不能禁止
...全文
558 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
theendname 2007-06-20
  • 打赏
  • 举报
回复
ding
theendname 2007-06-18
  • 打赏
  • 举报
回复
在属性里有一个启动类型 "已禁用" 怎么把它屏蔽掉?
todototry 2007-06-18
  • 打赏
  • 举报
回复
http://blog.csdn.net/todototry/
WizardK 2007-06-18
  • 打赏
  • 举报
回复
不想被禁止或停止,那就在对SERVICE_STATUS类型的变量的dwControlsAccepted赋值时不要加上SERVICE_ACCEPT_STOP
WizardK 2007-06-18
  • 打赏
  • 举报
回复
给你举个例子:
首先建一个空的控制台工程,然后建立四个源文件,分别是ServApp.cpp, Serv.cpp, Serv.h, ServMsg.h

1.
ServMsg.h中声明EVMSG_INSTALLED等宏定义

2.
Serv.cpp, Serv.h中写一个CServ的类
class CServ
{
public:
CServ(const char* szServiceName, const char* szServiceDescription);
virtual CServ();
BOOL ParseStandardArgs(int argc, char* argv[]);
BOOL IsInstalled();
BOOL Install();
BOOL Uninstall();
void LogEvent(WORD wType, DWORD dwID,
const char* pszS1 = NULL,
const char* pszS2 = NULL,
const char* pszS3 = NULL);
BOOL StartService();
void SetStatus(DWORD dwState);
BOOL Initialize();
virtual BOOL OnInit();
virtual void OnStop();
virtual void OnInterrogate();
virtual void OnPause();
virtual void OnContinue();
virtual void OnShutdown();
virtual BOOL OnUserControl(DWORD dwOpcode);
virtual void Run();

static void WINAPI ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv);
static void WINAPI Handler(DWORD dwOpcode);

char m_szServiceName[64];
char m_szServiceDescription[128];
int m_iMajorVersion;
int m_iMinorVersion;
SERVICE_STATUS_HANDLE m_hServiceStatus;
SERVICE_STATUS m_Status;

static CServ* m_pThis;// Singleton pattern

private:
HANDLE m_hEventSource;
};
要执行的东西放在Run()里面循环执行

3.
ServApp.cpp中
int main(int argc, char* argv[])
{
// Create the service object
CServ MyServ("Name", "Description");

// Parse for standard arguments
if (!MyServ.ParseStandardArgs(argc, argv))
{
MyServ.StartService();
}

return MyServ.m_Status.dwWin32ExitCode;
}

你可以下载一个例子在上面改,这样上手快
theendname 2007-06-18
  • 打赏
  • 举报
回复
theendname 2007-06-18
  • 打赏
  • 举报
回复
给个连接 好不
todototry 2007-06-18
  • 打赏
  • 举报
回复
看偶blog,呵呵^_^,okokok
SecureCRT and SecureFX v7.3.3 x86 x64 build 779 注册破解正式版 2015年3月31日官方正式更新发布! 附带了注册机和注册说明,亲测可用 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220和ANSI竞争.能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别。 SecureFX 支持三种文件传输协议:FTP、SFTP 和 FTP over SSH2。它可以提供安全文件传输。无论您连接的是任何一种操作系统的服务器,它都能提供安全的传输服务。它主要用于Linux操作系统如redhat, ubuntu的客户端文件传输程序,您可以选择利用SFTP通过加密的SSH2实现安全传输,也可以利用FTP进行标准传输。该客户端具有Explorer风格的界面,易于使用,同时提供强大的自动化能力,可以实现自动化的安全文件传输。

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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