在前面已经介绍了Silverlight的Out of Browser模式与COM的基本操作以及与Office COM的交互。这篇我们将介绍更多Silverlight Out of Brwoser的COM实例。
我们将继续使用过去的SilverlightOOBDemo项目进行简单扩展。
实例1:演示Silverlight与DOS的交互,对于Windows API熟悉的朋友应该了解,使用WShell可以运行任何Dos命令。
2 {
3 using (dynamic shell = AutomationFactory.CreateObject( " WScript.Shell " ))
4 {
5 // shell.Run(@"cmd /k dir /w /p");
6 shell.Run( @" cmd /k ping www.cnblogs.com -t );
7 }
8 9 }
实例2:使用WShell API模拟用户输入实例。使用WShell的SendKeys可以模拟用户输入效果到应用程序中,并且可以模拟一些特殊键功能,例如,回车,Tab,Ctrl等按键。
其中要实现模拟输入代码如下:
inputBtn_Click(
{
shell.Run(
c:\windows\notepad.exe
shell.SendKeys(
my blog:{Enter}jv9.cnblogs.com
}
实例3:Silverlight OOB应用读取注册表信息实例
使用Shell.Application的RegRead方法可以读取本地注册表键值,例如,读取“HKLM\Software\Microsoft\ASP.NET\RootVer”,.Net Framework的版本。
regBtn_Click(
(dynamic WShell
string
reg
WShell.RegRead(
HKLM\Software\Microsoft\ASP.NET\RootVer
MessageBox.Show(
.Net Framework Root Version:
+
reg);
读取结果:
实例4:使用Shell.Application的RegWrite方法可以对注册表进行写操作。这个实例将实现添加Silverlight Out of browser应用到Windows启动项。
1
regWriteBtn_Click(
2
3
(dynamic ShellApplication
Shell.Application
4
5
dynamic commonPrograms
ShellApplication.NameSpace(
11
6
allUsersPath
commonPrograms.Self.Path;
7
8
dynamic directory
ShellApplication.NameSpace(allUsersPath
\Programs
9
dynamic link
directory.ParseName(Deployment.Current.OutOfbrowserSettings.ShortName
.lnk
10
OOBLink
link.Path;
11
12
13
{
14
WShell.RegWrite(
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\
15
Deployment.Current.OutOfbrowserSettings.ShortName,
16
OOBLink);
17
MessageBox.Show(
请重启你的机器,你的应用将被自动载入启动列表.
18
}
19
20
当运行以上代码后,应用会将OOB应用快捷方式写入注册表HKLM\Software\Microsoft\Windows\CurrentVersion\Run\
应用程序将在下次重启后,自动启动。
实例5:使用Windows 7 API实现锁定应用到Windows 7任务栏
在Windows 7中使用Shell.Application类库允许遍历应用,检查Verbs进行应用锁定。
pinBtn_Click(
23
\Accessories
directory.ParseName(
Calculator.lnk
dynamic verbs
link.Verbs();
for
(
int
i
0
; i
<
verbs.Count(); i
++
)
dynamic verb
verbs.Item(i);
if
(verb.Name.Replace(
&
,
.Empty).ToLower()
==
pin to taskbar
{
verb.DoIt();
}
21
当执行以上代码后,获取计算器应用快捷方式,然后执行“Pin to Taskbar”后,将应用锁定在Windows 7任务栏。
实例6:Silverlight Out of browser语音阅读实例
使用Windows自带的Speech API中的SAPI引擎SpVoice类可以实现语音阅读功能。
speechBtn_Click(
(dynamic ISpeechVoice
SAPI.SpVoice
ISpeechVoice.Volume
100
;
ISpeechVoice.Speak(
<rate speed=\
\
><pitch middle=\
>Hello everyone! Welcome to my blog,http://jv9.cnblogs.com
当运行以上代码后,会听到以上阅读内容。
对于Silverlight Out of browser的COM应用有一款开源项目COM Toolkit,该控件在OOB模式下可以对本地数据库进行操作,推荐大家参考学习。
今天就写到这里了,希望能对大家有所帮助。
欢迎大家加入"专注Silverlight" 技术讨论群:
本文出自 “Kevin Fan” 博客,请务必保留此出处http://www.voidcn.com/article/p-bubeedyo-bke.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。