随笔 - 51  文章 - 0  评论 - 456  阅读 - 47万 

随笔分类 -  系统编程

玩转Windows服务系列汇总
摘要:玩转Windows服务系列汇总 [创建Windows服务][1] [Debug、Release版本的注册和卸载及其原理][2] [无COM接口Windows服务启动失败原因及解决方案][3] [服务运行、停止流程浅析][4] [Windows服务小技巧][5] [命令行管理Windows服务][6] 阅读全文
posted @ 2016-02-28 18:28 缘生梦 阅读(759) 评论(0) 推荐(1) 编辑
玩转Windows服务系列——给Windows服务添加COM接口
摘要:当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互。 那么当我们想与Windows服务进行实时交互的时候,我们应该怎么做呢? 快速给Windows服务添加实时交互功能的方案 Windows服务是一个进程,而我们用于交互的程序,又是另外一个进程。我们与Windows服务实时交互,其实就是一个进程间通信... 阅读全文
posted @ 2015-10-19 22:50 缘生梦 阅读(11174) 评论(1) 推荐(0) 编辑
玩转Windows服务系列——使用Boost.Application快速构建Windows服务
摘要:玩转Windows服务系列——创建Windows服务一文中,介绍了如何快速使用VS构建一个Windows服务。Debug、Release版本的注册和卸载,及其原理和服务运行、停止流程浅析分别介绍了Windows服务的注册、卸载、运行、停止的简单流程。那么今天就来介绍一下如何使用开源库Boost.Ap... 阅读全文
posted @ 2015-10-18 19:45 缘生梦 阅读(3257) 评论(0) 推荐(0) 编辑
获取Windows操作系统的CPU使用率以及内存使用率
摘要:此功能参考了ProcessHacker项目的代码。 声明定义 typedef struct _UINT64_DELTA { ULONG64 Value; ULONG64 Delta; } UINT64_DELTA, *PUINT64_DELTA; typedef struct _UINTPTR_DELTA { ULONG_PTR Value; ULONG... 阅读全文
posted @ 2015-02-03 17:33 缘生梦 阅读(10997) 评论(0) 推荐(0) 编辑
玩转Windows服务系列——Windows服务启动超时时间
摘要:最近有客户反映,机房出现断电情况,服务器的系统重新启动后,数据库服务自启动失败。第一次遇到这种情况,为了查看是不是断电情况导致数据库文件损坏,从客户的服务器拿到数据库的日志,进行分析。数据库工作机制要分析数据库启动失败的原因,首先说明一下数据库服务的工作机制。数据库分为六大服务:数据库的六大服务之间... 阅读全文
posted @ 2014-07-10 00:13 缘生梦 阅读(9772) 评论(9) 推荐(5) 编辑
玩转Windows服务系列——命令行管理Windows服务
摘要:说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令,命令行都是非常方便以及强大的工具。接下来就看一下如何通过cmd命令管理Windows服务。管理Windows服务的主要cmd命令管理Windows服务的命令应该有很多... 阅读全文
posted @ 2014-01-11 16:36 缘生梦 阅读(43407) 评论(7) 推荐(9) 编辑
玩转Windows服务系列——Windows服务小技巧
摘要:伴随着研究Windows服务,逐渐掌握了一些小技巧,现在与大家分享一下。将Windows服务转变为控制台程序由于默认的Windows服务程序,编译后为Win32的窗口程序。我们在程序启动或运行过程中,如果想看到一些调试信息,那么就只能通过DebugView或者输出到日志的方式了。因为如果我们通过pr... 阅读全文
posted @ 2013-12-26 00:36 缘生梦 阅读(15405) 评论(0) 推荐(5) 编辑
玩转Windows服务系列——服务运行、停止流程浅析
摘要:通过研究Windows服务注册卸载的原理,感觉它并没有什么特别复杂的东西,Windows服务正在一步步退去它那神秘的面纱,至于是不是美女,大家可要睁大眼睛看清楚了。接下来研究一下Windows服务的启动和停止的流程。启动流程启动时自然是从程序的入口点开始extern "C" int WINAPI _... 阅读全文
posted @ 2013-12-25 00:46 缘生梦 阅读(14527) 评论(1) 推荐(6) 编辑
玩转Windows服务系列——无COM接口Windows服务启动失败原因及解决方案
摘要:将VS创建的Windows服务项目编译生成的程序,通过命令行 “服务.exe -Service”注册为Windows服务后,就可以通过服务管理器进行管理了。问题通过服务管理器进行启动的时候,发现服务无法启动,提示错误由于程序代码是由VS的项目模板生成的,生成后直接编译为Debug版,然后通过命令行进... 阅读全文
posted @ 2013-12-24 00:28 缘生梦 阅读(6973) 评论(8) 推荐(4) 编辑
玩转Windows服务系列——Debug、Release版本的注册和卸载,及其原理
摘要:Windows服务Debug版本注册Services.exe -regserver卸载Services.exe -unregserverWindows服务Release版本注册Services.exe -service卸载Services.exe -unregserver原理Windows服务的De... 阅读全文
posted @ 2013-12-22 21:19 缘生梦 阅读(11031) 评论(1) 推荐(5) 编辑
玩转Windows服务系列——创建Windows服务
摘要:创建Windows服务的项目新建项目->C++语言->ATL->ATL项目->服务(EXE)这样就创建了一个Windows服务项目。生成的解决方案包含两个项目:Services、ServicesPS 。其实主要是使用Services,VS2012下不清楚为什么生成了两个项目。注册Windows服务W... 阅读全文
posted @ 2013-12-16 23:31 缘生梦 阅读(11371) 评论(1) 推荐(0) 编辑
VS2012编译的Windows服务启动后立即停止的解决方案
摘要:ATL中的BUG,在没有COM的服务中,使用_ATL_NO_COM_SUPPORT。并在服务中添加下面的代码#if defined(_ATL_NO_COM_SUPPORT) HRESULT PreMessageLoop(int nShowCmd) { SetServiceStatus(SERVICE_RUNNING); return ATL::CAtlServiceModuleT::PreMessageLoop(nShowCmd); }#endif 阅读全文
posted @ 2013-12-04 23:40 缘生梦 阅读(1303) 评论(2) 推荐(0) 编辑

点击右上角即可分享
微信分享提示