全球旧事资料 分类
务客户端。这是一个根据实际情况而可选的过程,由于Wi
dows服务是没有用户界面的,因此我们可以编写一个具有用户界面的程序来显示和控制Wi
dows服务提供的数据,并进行一些系统设置等操作。比如对于MSSQLServer,数据库引擎是以服务的形式存在,而SQLServer企业管理器就是一个客户端软件。
软件功能需求
现在我们要求使用C和VSNET2005开发一个软件,该软件功能为12该软件能监视指定目录下的文件和子目录的新增,修改,删除和重命名操作,并将操作日志记录到一个数据库中。该软件以Wi
dows服务的形式运行,能监视不同的用户帐户的操作记录。
f3
有一个客户端软件能控制服务,并能查看服务的保存的监视记录。其用户界面为
客户端软件还能设置服务监视的目录,系统设置对话框为
软件设计
f命令行参数设计
一般而言,我们将服务和客户端分成两个C工程开发,但这里为了方便我们只在一个工程中实现服务器和客户端软件的开发。Wi
dows服务是不能显示图形化用户界面的,但并不是说Wi
dows服务的软件中不能包含显示图形化用户界面的软件模块。我们完全可以编写一个EXE,其中包含服务器和客户端两个相互独立的软件模块。直接执行EXE将以服务模式运行,若带有命令行参数将以客户端模式运行。为此我们设计了如下的命令行参数命令行参数无任何参数i
stallu
i
stallclie
tdebug功能以服务模式运行,调用ServiceBaseRu
函数来运行服务。调用I
stallUtilexe安装服务,EXE自己注册到Wi
dows服务管理器中。将调用I
stallUtilexe卸载服务。以客户端模式运行,显示图形用户界面。以调试模式下运行,方便VSNET对服务的操作过程提供调试。
使用VSNET调试服务是一个比较麻烦的事,首先我们得安装并运行服务,然后使用VSNET的菜单项目“工具附加到进程”的操作来附加到服务程序,然后设置断点进行调试,其中O
Start函数是没有办法设置断点调试的。为此我们专门添加一个“debug”命令行参数使得程序不进入服务模式,而是直接运行提供服务内容的功能性代码,然后主线程休眠,但功能性代码还在运行,可以调试。这样我们在VSNET中设置断点后可以直接运行进行调试了。这里我们设计的C工程名称为MyWi
dowsService,编译生成的文件为MyWi
dowsServiceexe。
数据库设计
在本软件中,数据将保存到应用程序目录下的一个名为FileSystemWatchermdb的Access2000格式的数据库。数据库中的表结构为文件系统操作日志表FileSystemLog,字段有字段名类型说明
fRecordIDWatchTimeObjectNameEve
tStyle
文本50文本20文本250r
好听全球资料 返回顶部