e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 程序开发 >> ASP.net教程 >> 用托管C++编写Windows服务 >> 教程正文
 
教程搜索
 
 
相关教程
  • C++/CLI实战——HELLO
  • VC编写简单的序列号(SN)填写器
  • Visual Studio 2005体验泛型编程
  • C++/CLI基本数据类型探索
  • 用托管C++编写Windows服务
  • Visual C++ 2005图像编程之属性设置栏
  • Visual C++ 2005图像编程之工具栏
  • Visual C++ 2005图像编程之预备知识
  • 把其他C/C++编译器集成到VC2005中
  • VC.NET实现清爽便利的Windows游戏窗口
  • C++:最强大的.NET语言之可访问性
  • C++:最强大的.NET语言之装箱
  • C++:最强大的.NET语言之内存与资源
  • C++:最强大的.NET语言之对象构造
  • Visual C++2005中开发自定义绘图控件
  • C++/CLI程序进程之间的通讯
 
 

图文教程


  • Windows抢了谁的饭碗 非主流操作系统To

  • 地球还是火星 平常心看“非主流”

  • 综合运用Office 2007批量制作奖状

  • 没有系统盘如何才能修复受损系统?

  • 巧妙运用Excel中边界的附加功能!
 
 
赞 助 商
 
 
用托管C++编写Windows服务
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2007-8-9
t;runhour");

int runHour = System::Int32::Parse(sHour);

bool rantoday = false;

而循环则如下所示:

stopping = false;

while (!stopping)

{

if (DateTime::Now.Hour == runHour && !rantoday)

{

//执行相应的任务

rantoday = true;

}

else

rantoday = false;

Threading::Thread::Sleep(loopsleep);

}

因为到了事先约定的时间,只想要上述代码运行一次,因此,在服务执行完相应的任务之后,必须把rantoday标志设为true,只要在其他时间,都会被设为false。

你可以在服务中查找数据库的新记录、或查找过期的文件并删除它们,当然,在服务中可以做的事情远远不只这些。但不管要执行的任务是什么,都需要告诉其他人你做过什么,因为服务不具备一个用户界面,所以也不能弹出一个消息框,因此,使用事件日志是一个不错的方法。

请在mainLoop()的循环之前加入以下代码,以用于设置事件日志记录:

Diagnostics::EventLog* log ;

if (! Diagnostics::EventLog::SourceExists("CGNotifierService") )

Diagnostics::EventLog::CreateEventSource("CGNotifierService",CGNotifierLog");

log = new Diagnostics::EventLog("CGNotifierLog");

log->Source = "CGNotifierService";

虽然不用同时设置日志和源代码,但这样做的话,消息会在服务器浏览器的事件日志之下,创建它们自己的节点。

为向日志中写入,通常只需一行代码--可把它放在"执行相应任务"的注释之后: log->WriteEntry("服务的运行时间到了。",

Diagnostics::EventLogEntryType::Information);

现在,我们大功告成:一个可以安装、卸载、启动、停止,并每天向事件日志中写入一条信息的服务诞生了!从此以后,你将无坚不摧,用C++编写的Windows服务可不像其他那些 .NET应用程序,它只局限于你的想像力。另外,在创建服务工程时,还要注意分清C++与VB及C#之间的细微差别。还等什么呢,赶快动手啊!


上一页  1 2 
  • 上一篇教程: Visual C++ 2005图像编程之属性设置栏
  • 下一篇教程: C++/CLI基本数据类型探索
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.