是可下载的应用程序。
可使您完全了解戴尔服务器基础架构。
主动识别IT环境中的故障,还可以立即提醒您和戴尔启动问题解决流程。
SupportAssist节省了故障排除的时间,客户可以更多地关注战略项目。
提高生产效率-用自动化支持代替花费大量精力的人手日常维护。
洞察与控制-月度ProSupport Plus可以优化企业设备,个人电脑和平板的ProSupport Plus可以提供硬盘及电池问题预报。
Dell SupportAssist与Dell OpenManage Essentials系统管理控制台相集成,可远程监控您的企业环境并实现前瞻性支持。
戴尔强大且易于使用的支持技术可缩短解决问题所需的时间,并最大限度地减少人工干预,从而减少停机时间、提高工作效率,并恢复关键业务的运营。
这一新工具可提供丰富的功能,包括远程监控、自动化日志和配置数据收集、案例创建、故障通知以及部件更换。
转变为前瞻性支持模式并将资源的职能从维护转变为推动发展。
适用性:适用于Dell EqualLogic SAN HeadQuarters (SAN HQ)
OpenManage Essentials (OME)和Microsoft Systems Center Operations Manager (SCOM)控制台。
适用于Dell PowerEdge、Dell PowerVault、EqualLogic、Force10 S4810和Dell PowerConnect产品。
使用 Windows Update Agent 可以管理要在您的计算机上安装哪些更新。Windows Update Agent 与 Windows Update 网站协同工作,为您的计算机提供最新的更新。Windows Update Agent 也可与企业环境中运行 Microsoft System Management Server 和 Windows Server Update Services (WSUS) 的服务器协同工作。Microsoft Agents 介绍这一天终于到来了。你现在可以逐字地告诉你的计算机运行一个报告,阅读一封信或者播放一首歌曲。本文将介绍如何利用Agent的文字到语言的转换功能。你将学会如何扩展VBA使其包括ActiveX,如何编写一个调用Agent来大声朗读活动Word文档的应用程序。
与包括Microsoft Office Assistant 在内的任何前辈都不相同,Microsoft Agent 15使用多个角色--Genie, Merlin, 和 Robby(见图1)--来提供人/机接口。每个角色都经过三维处理,并具有一套独特的卡通制作。
Agent的 第一个使命:仅仅露一面
在第一个项目中,我们将编写一个测试过程来证实Agent极其组件已被正确安装。第一次,我们不要求太多的东西;仅仅需要Agent露一面说几句话即可。我们将使用Genie来测试运行。
首先启动Microsoft Word 97,通过按住AL!(或选择Tools | Macro | Visual Basic Editor)来激活Visual Basic Editor。下一步,单击Project Explorer,或按Cr。该 *** 作将为你提供一个列表,里面包含了你已经打开的所有项目。请选中Normal项目(关于Normal的更为详细的信息,请参阅第5页的"Normal模板")。
创建表单。通过从Project Explorer或菜单中选择Insert | UserForm来插入一个表单。通过在Properties窗口中改变如下属性来修改UserFform(为了显示Properties窗口,可能需要按4键)。
Caption: Agent Control Form
Width: 100
Height: 85
在表单上放置两个CommandButtons。然后将它们的Caption属性改为Start Agent和Stop Agent,以便它们可以在图2中出现。
控制和引用。对于每个新项目,向DLL和OCX添加包含有过程、方法和你正在引用的其他代码的引用是十分重要的。选中Tools | References来激活References对话框。向下滚动,并选中Microsoft Agent Control 15。
下一步,确认Toolbox已通过单击或从View | Toolbox菜单中选中而激活。通过选中Tools | Additional Controls来激活Additional Controls对话框;找到阅读Microsoft Agent Control 15的行,并单击它的复选框。完成之后,你将看到Agent图标位于Toolbox的下半部分(见图3)。
下一步,我们要编写可以使Genie出现和消失的子程序。首先请单击顶部标签为Start Agent的按钮。你将看到Visual Basic IDE已经启动了CommandButton1_Click子程序。向顶部滚动,输入如下的语句:
Const DATAPATH = _
"C:\Program Files\Microsoft Agent\Characters\genieacs"
Dim Genie As IAgentCtlCharacter
Dim SpeakString As String
图4中列出了全部的代码。这些语句声明了必要的变量和常量。Microsoft建议在所列出的目录中安装Agent角色文件(ACS文件),但你也可以将它们放在其他地方--只要你为DATAPATH常量输入了正确的路径即可。
Option Explicit
Const DATAPATH = _
"C:\Program Files\Microsoft Agent\Characters\genieacs"
Dim Genie As IAgentCtlCharacter
Private Sub UserForm_Activate()
Agent1CharactersLoad "Genie", DATAPATH
Set Genie = Agent1Characters("Genie")
End Sub
Private Sub CommandButton1_Click()
GenieShow
GenieMoveTo 100, 100
GenieSpeak "My name is Genie Your wish is my command"
End Sub
Private Sub CommandButton2_Click()
GenieMoveTo 350, 250
GenieHide
End Sub
Private Sub UserForm_Deactivate()
Set Genie = Nothing
End Sub
图4 本代码阐述了基本的Genie控制
当UserForm被激活的时候,可以创建如下将被执行的代码:
Private Sub UserForm_Activate()
现在我们通知Agent对象将Genie 角色加载到它的Characters集合之中,这样我们就可以访问它了:
Agent1CharactersLoad "Genie", DATAPATH
下一步,使用Set语句来简化后面的代码:
Set Genie = Agent1Characters("Genie")
这不是必需的,但以后的语句需要精心编制。例如,需要如下语句来显示Agent:
Agent1Characters("Genie")Show
这样则更加直接:
GenieShow
下一行为SpeakString变量赋了一个值。在本例中,我们通知Microsoft Agent介绍它自己,然后为语音识别输入做准备(在本例中,我们不为该部分编写代码)。
SpeakString = "My name is Genie Your wish is my command"
让我们通过调用Genie并让它朗读SpeakString的值来完成代码。我们将编写CommandButton1_Click子程序来完成该项任务。Show是用来让用户可以看见Genie的命令,Speak将触发Microsoft的文字到语音转换工具朗读在它前面的文字。
Private Sub CommandButton1_Click()
GenieShow
GenieSpeak SpeakString
End Sub
CommandButton2_Click子程序将把Genie隐藏起来。
Private Sub CommandButton2_Click()
GenieHide
End Sub
最后,完成之后,我们必须通过使用如下语句来销毁Agent对象:
Private Sub UserForm_Deactivate()
Set Genie = Nothing
End Sub
现在你就可以准备启动Agent了。通过单击Run按钮,或按5键来测试一下,看看你的计算机是否已被正确设置了。该 *** 作将激活这个表单,Agent服务器将在加载表单的时候初始化,在用户退出表单的时候销毁。当按下Start Agent按钮的时候,Genie将出现并说:"My name is Genie Your wish is my command"(如图5所示)。它将在按下Stop Agent的时候消失。
因为我们正在从模型对话框中 *** 作Agent,所以这种实现并不是非常现实的,尽管它完全可用于示范或开发。下一步,我们将做一些更加有用的工作;我们将把Agent融入Word 97,并让Robby为我们朗读。
Agent'的第二个使命:为我朗读
目标是在Word 97中放置一个按钮,当按下它的时候,将调用将要大声朗读活动文档的Agent--这是从另一个侧面了解你的作品的好方法。
让我们从字符路径常量的声明开始:
Const ROBBYPATH = _
"C:\Program Files\Microsoft Agent\Characters\robbyacs"
用于Agent 和角色的变量为:
Dim MSAgent As Agent
Dim Char As Object
像以前一样,然后我们使用New关键字来创建一个Agent对象:
Set MSAgent = New Agent
在创建完Agent对象之后,我们必须启动Agent ActiveX服务器。为了实现这一点,我们将Agent对象的Connected属性设置为True:
MSAgentConnected = True
然后,我们加载字符并将它分配给Object变量:
MSAgentCharactersLoad "Robby", ROBBYPATH
Set Char = MSAgentCharacters("Robby")
准备工作就做完了。现在该轮到我们的Agent表现了。
He walk…
控制Agent的屏幕行为是很简单的。大部分 *** 作可以通过使用Character对象的Play函数来实现。Play函数有一个参数--一个由Animation字符串组成的字符串。例如,如下语句将导致Robby 挥手致意:
CharPlay "Wave"
而如下语句将导致他向右移动(Robby使用一个黑色背包移动):
CharPlay "MoveRight"
图6列出了一个用于Robby的Animation字符串的小子集,而图7到11则显示了其中的几个。正如你所看到的,Robby可以做很多动作。可提供的Animation字符串随角色的不同而不同,因此你需要获得有关每个你想使用的角色的资料。例如,在用于Robby 的Microsoft Agent Animations中,Robby有94个Animation字符串。
Animation描述
Acknowledge Nods head
Alert Straightens and raises eyebrows
Announce Prints output and reads
Blink Blinks eyes
Declines Raises hands and shakes head
DontRecognise Holds hand to ear
GestureLeft Gestures to the left
GestureRight Gestures to the right
GetAttention Raises and shakes arms
GlanceLeft Looks left briefly
GlanceRight Looks right briefly
Hear_1 Turns head left
Idle2_1 Crosses arms
Idle2_2 Removes head and makes adjustment
LookLeft Looks to the left
MoveUp Flies up
Processing Presses buttons in looping animation
Reading Reads in looping animation
Sad Makes sad expression
Searching Looks through toolbox in looping animation
Think Tilts head and scratches
Wave Waves
Write Takes out clipboard, writes and looks up
图6 为Robby角色选择Animation字符串的子集:共有94个
不过,使用Play,Robby将保留在相同的屏幕位置里。为了实际上在屏幕周围移动Agent,你可以使用Character对象的MoveTo过程,该过程有两个参数--x和 y屏幕坐标。下面是一个例子:
CharMoveTo 200, 300
如果你想让角色仍然移动到屏幕之上,可以在调用Show之后使用MoveTo;在第一次引用时,如果你想让角色出现在特定的位置,可以在调用Show之前使用MoveTo来放置Agent。既然我们已经知道如何创建Agent手势以及如何移动它,那么就让我们使Robby说话吧。
He Talks
让Robby说话也是很简单的;只需使用Character对象的Speak函数即可。Speak函数有一个参数--将要朗读的文字。文字可以有几种形式,包括文字串、文本文件或URL。在我们的例子中,我们想让Agent朗读一个Word文档,因此我们使用如下的语句:
CharSpeak ActiveDocumentContent
如果你做过任何Word 97 VBA编程,那么就会明白ActiveDocumentContent指的是ActiveDocument属性的Content属性,换句话说,就是当前选定的Word文档的主体文字。这条语句将导致Robby在文字气球中显示相关的文字的同时,大声朗读文档。多棒啊!
这条独立的语句是可以工作的,但是我们可以做得更好。步骤如下:
CharPlay "Read"
CharSpeak ActiveDocumentContent
CharPlay "Readreturn"
这几条语句将导致Robby从它的胸部打印出一些输出,在完成之后释放文档,以及在实际朗读之前开始阅读。"ReadReturn" Animation将导致Robby返回,在阅读之后停在中间位置。许多动画都与"Return"动画相关联,因此可以做到动作之间的平滑转换。
现在,让我们将所学到的东西融合在一起,为Robby将要完成的一个短的动作序列编写脚本。我们将把它放在一个脚本之中,以便可以从Word 97中调用它,如图12所示。
Option Explicit
Const ROBBYPATH =
"C:\Program Files\Microsoft Agent\Characters\robbyacs"
Dim MSAgent As Agent
Dim Char As Object
Sub Speak()
Set MSAgent = New Agent
MSAgentConnected = True
MSAgentCharactersLoad "Robby", ROBBYPATH
Set Char = MSAgentCharacters("Robby")
With Char
Top = 125
Left = 185
Show
Play "Greet"
Play "GreetReturn"
MoveTo 600, 400
Play "Read"
Speak ActiveDocumentContent
Play "ReadReturn"
Play "Idle2_2"
Play "Wave"
Play "WaveReturn"
Hide
End With
End Sub
图12 VBA代码让Robby在屏幕上特定的坐标位置出现,挥手致意说喂,飞向屏幕的右下角,朗读活动的Word 97文档,完成调整,挥手致意说再见,和消失。
下一步,我们必须在Word中做一点工作。
He Crawls on His Belly Like a Reptile
为了将新的宏与自定义的工具栏关联起来,请选择View | Toolbars | Customize来显示Customize对话框。单击New按钮。为新工具栏取名为"Agent",使其可以提供给Normaldot。这个工具栏现在就可以使用了。在Customize对话框中,单击Commands页并选中Macros。 NormalNewMacrosSpeak宏现在就应该可以使用了;将它拖向工具栏,然后在I光出现之后释放它。右击该按钮,将它的名字改为"Read",如果你喜欢的话,还可以为它提供一个图标。
通过返回到Customize对话框并再次选中该对象可以从菜单中调用新宏。这次,将它拖向Tools菜单(但不让它走)。这个菜单将打开并滚向底部。当你在自己希望的位置看到I光线之后,释放按钮。可以按照与以前相同的方式改变菜单项的属性--通过右击。
结论
我们已经介绍了Microsoft Agent的基础知识,并且列出了你探索Agent的潜力所需要的软件和硬件。然后我们继续利用Agent的语音功能来实现一个有用的Word宏来大声朗读文档。
记住Agent可以作为ActiveX提供也是十分重要的。这就意味着它可以使Web站点更加充满活力。例如,你可以访问位于>SQL Server 2000和SQL Server Agent是作为Windows服务运行的。每个服务必须与一个Windows帐户相关联,并从这个帐户中衍生出安全性上下文。SQL Server允许sa登录的用户(有时也包括其他用户)来访问 *** 作系统特性。这些 *** 作系统调用是由拥有服务器进程的帐户的安全性上下文来创建的。如果服务器被攻破了,那么这些 *** 作系统调用可能被利用来向其他资源进行攻击,只要所拥有的过程(SQL Server服务帐户)可以对其进行访问。因此,为SQL Server服务仅授予必要的权限是十分重要的。
我们推荐您采用下列设置:
1) SQL Server Engine/MSSQLServer
如果拥有指定实例,那么它们应该被命名为MSSQL$InstanceName。作为具有一般用户权限的Windows域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。
2) SQL Server Agent Service/SQLServerAgent
如果您的环境中不需要,请禁用该服务;否则请作为具有一般用户权限的Windows域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。
重点: 如果下列条件之一成立,那么SQL Server Agent将需要本地Windows管理员权限:
SQL Server Agent使用标准的SQL Server身份验证连接到SQL Server(不推荐);
SQL Server Agent使用多服务器管理主服务器(MSX)帐户,而该帐户使用标准SQL Server身份验证进行连接;
SQL Server Agent运行非sysadmin固定服务器角色成员所拥有的Microsoft ActiveX脚本或 CmdExec作业。
如果您需要更改与SQL Server服务相关联的帐户,请使用 SQL Server Enterprise Manager。Enterprise Manager将为SQL Server所使用的文件和注册表键设置合适的权限。不要使用Microsoft管理控制台的“服务”(在控制面板中)来更改这些帐户,因为这样需要手动地调制大量的注册表键和NTFS文件系统权限以及Micorsoft Windows用户权限。
帐户信息的更改将在下一次服务启动时生效。如果您需要更改与SQL Server以及SQL Server Agent相关联的帐户,那么您必须使用Enterprise Manager分别对两个服务进行更改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)