您的位置:软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > VB.net > 正文
VB.NET打造个性化安全防护软件
[文章信息]
作者:付佳亮
时间:2003-08-18
出处:微软社区
责任编辑:方舟
[文章导读]
VB程序员可以轻松开发出高难度的曾经是可望而不可及的程序......
advertisement
热点推荐
· 天极网软件频道改版调查
· 在ASP.NET程序中创建唯一序号
· 用JVM工具接口创建调试和分析代理
· Win 2000如何安装配置防火墙
· 防范Windows消息钩子的侵入
[正文]

上一页  1 2  

  现在我们说一下对于配置文件的读取我们不可能要求用户每回都设置一遍配置。我采用的方法是用XML数据文件,XML数据文件分为XML文件和XSD文件,XSD是对XML文件结构的描述。

  XSD配置文件内容如下:

<?xml version="1.0" standalone="yes"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="zh-CN">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="SPYFileSet">
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="xs:string" minOccurs="0" />
<xs:element name="FileName" type="xs:string" minOccurs="0" />
<xs:element name="Sub" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>

  基本的XML内容如下

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<SPYFileSet>
<Directory>c:\</Directory>
<FileName>*.*</FileName>
<Sub>true</Sub>
</SPYFileSet>
</NewDataSet>

  对于XML数据文件的读取,其实很简单。

Dim ds as DataSet=New DataSet()
Try
ds.ReadXmlSchema("FileSet.xsd")
ds.ReadXml("FileSet.xml")
Catch
'读取失败
End Try

  读取数据的方法是

Dim table as DataTable
Dim row as DataRow
table=ds.Tables.Item(0)
For rowIndex=0 To table.Rows.Count-1
row=table.Rows.Item(I)
messagebox.show row("Directory") & row("FileName") & row("Sub") next

  添加一个监控目录

row=table.NewRow()
row("Directory")="d:\"
row("FileName")="*.*"
row("Sub")=True
table.rows.add(row)

  删除一个监控的目录

  确定被选的纪录然后

row.Delete

  存储时用ds.WriteXml("FileSet.xml"),因为数据结构没有改变所以FileSet.xsd没有必要重写。到这里你可能会发现一个问题,就是一个FileSystemWatcher对象如何实现对多个目录的监控,一个FileSystemWatcher对象是无法监管多个目录的,只能采用控件数组。

'定义控件数组
Public FileSystemWatche32() As System.IO.FileSystemWatcher
'使用控件数组
'重新定义数组数量
Redim Preserve fswMain(Max)
'设置对象属性
for I=0 to Max
fswMain(I) = New FileSystemWatcher
'添加控件
me.Controls.Add(fswMain(I))
'设置属性
fswMain(I).Path="C:\"
'设置对象托管
AddHandler FileSystemWatche32(0).Changed, AddressOf FileSystemWatcher1_Changed next I

  在FileSystemWatcher1_Changed事件中添加对其的处理

Dim lb As System.IO.FileSystemWatcher = CType(sender, System.IO.FileSystemWatcher) Messagebox.Show e.ChangeType.ToString

  控件数组的使用方法就是这样,你可以根据上面的方法,增加其他事件的方法。基本上你可以结合上面的方法完成属于你自己的文件监控系统。为了增强交互性我们要引入微软的MS Agent控件。使用方法是工具箱上任意位置点击右键,选择自定义工具箱,选择COM控件中的"MicrosoftAgentControl2.0"点击确定后会把控件加入到工具箱中。

  使用MS Agent的方法是:

Private Peedy as IAgentCtlcharacterEx
'读取动画人物图像
AgentCtl.Characters.Load("char1","1.acs")
Peedy=AgentCtl.Characters("Char1")
Peedy.LanguageID=0x0409
Peedy.Show(false)

  这样就显示出了动画人物,动画人物可以设置多种表情动作,方法是

Peedy.Play("动作名")

  动画人物支持很多动作,像点头Acknowledge向左看LookLeftReturn等等可以去 http://agent.microsoft.com/agent2/sdk/samples/html/charview.htm观看。

  还有就是他还可以说话方法是:

Peedy.Speak("Hello")

  这样可以做到人机交互了。


上一页  1 2  

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • Visual Basic.NET编程的设计思考
  • VB.NET启动并监测外部程序
  • 主板超频特色技术GIGA技嘉篇
  • Win 2000如何安装配置防火墙
  • 防范Windows消息钩子的侵入
  • 性价比之选 AGP显卡的告别秀
  • 大学校园生活之聊天也疯狂
  • Fireworks制作GIF动画Banner
  • 金山打击外挂 遭网络游戏玩家起诉
  • 完全公测《开天》掀起滔滔巨浪
  • Advertisement