zoukankan      html  css  js  c++  java
  • Silverlight 5 beta新特性探索系列:10.浏览器模式下内嵌HTML+浏览器模式下创建txt文本文件

            在Silverlight 5 beta版本中,已经支持浏览器模式(in-browser)模式下使用WebBrowser控件访问网页和在浏览器模式下创建txt文本文件。当然想要获得这个功能有三个条件在注册表内添加一个新的键、设置XAP签名(如果是在本地http://localhost:做测试时可以不需要这两个条件)和提升信任级别。

            第一、在注册表内添加一个新的键AllowElevatedTrustAppsInBrowser

            其名为AllowElevatedTrustAppsInBrowser,DWORD类型,值为1。设置Silverlight允许访问一些本地资源。

    •键名: AllowElevatedTrustAppsInBrowser
    •键类型: DWORD
    •键值:
    0x00000000 (disabled) or 0x00000001 (enabled)
            其键注册位置在32位系统和64位系统中不一样的,下面请看:
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Silverlight\ (for 32-bit) or
    • HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Silverlight (for 64-bit)

            二、将XAP包签名设置XAP包是可信任的应用程序

            1.右键点击Silverlight项目-->属性-->签名-->点击选中“为Xap文件签名”-->点击“创建测试证书”。如下图所示:

     

            2.安装证书:在上图中点击“更多详细信息”-->“安装证书(I)”。如下图:

            3.在弹出的“证书导入向导”窗口中选中“将所有的证书放入下列存储区”--在弹出的“选中证书存储”窗口中,选择“受信任的根证书颁发机构”。如下图:

            4.安装签名证书成功

            三、提升信任级别

            首先我们设置Silverlight的OOB模式提升信任级别如下:

            在这里我们提升了OOB模式的信任级别,此时项目会自动设置从Silverlight项目启动如左图,我们需要手动设置从Web项目启动,如右图:

         

            最后我们来看本篇文章的实例Demo代码,首先看MainPage.xaml代码如下:

        <Grid x:Name="LayoutRoot" Background="White">
            <WebBrowser Height="463" HorizontalAlignment="Left"  Margin="0,137,0,0"
                        Name="webBrowser1" VerticalAlignment="Top" Width="800" />
            <Button Content="加载百度" Height="39" HorizontalAlignment="Left" 
                    Margin="25,58,0,0" Name="button1" VerticalAlignment="Top" 
                    Width="141" Click="button1_Click" />
            <Button Content="打开写字本" Height="39" HorizontalAlignment="Left"
                    Margin="314,58,0,0" Name="button2" VerticalAlignment="Top" 
                    Width="141" Click="button2_Click" />
            <Button Content="创建文件" Height="39" HorizontalAlignment="Left"
                    Margin="626,58,0,0" Name="button3" VerticalAlignment="Top" 
                    Width="141" Click="button3_Click" />
        </Grid>
    

            接着我们来看CS代码如下:

    private void button1_Click(object sender, RoutedEventArgs e)
    {
    //访问百度
    this.webBrowser1.Source = new Uri("http://www.baidu.com/",
    UriKind.RelativeOrAbsolute);
    }

    private void button2_Click(object sender, RoutedEventArgs e)
    {
    //打开一个记事本文件
    dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");
    cmd.Run(
    @"c:\windows\notepad.exe", 1, true);
    }
    Random _rnd
    = new Random();
    private void button3_Click(object sender, RoutedEventArgs e)
    {
    // 创建一个文件存放路径
    var tempDirectory = @"c:\temp";
    if (!Directory.Exists(tempDirectory))
    {
    Directory.CreateDirectory(tempDirectory);
    }

    // 创建文件全名
    var filename = string.Format("tempFile-{0}.txt", _rnd.Next(0, 65536));
    var fullPath
    = System.IO.Path.Combine(tempDirectory, filename);

    // 写入一个新的文件
    using (FileStream fs = File.Create(fullPath))
    using (StreamWriter sr = new StreamWriter(fs, Encoding.UTF8))
    {
    sr.WriteLine(
    "这是一个可被信任的XAP文件");
    }

    // 通知用户
    MessageBox.Show("文件已经创建成功");

    }

            最后我们来看点击三个按钮的效果分别如下面三图:

           本实例采用VS2010+Silverlight 5 beta编写,如需源码请点击 SL5Trusted.zip 下载。

  • 相关阅读:
    codeforces C. Cows and Sequence 解题报告
    codeforces A. Point on Spiral 解题报告
    codeforces C. New Year Ratings Change 解题报告
    codeforces A. Fox and Box Accumulation 解题报告
    codeforces B. Multitasking 解题报告
    git命令使用
    shell简单使用
    知识束缚
    php 调用系统命令
    数据传输方式(前端与后台 ,后台与后台)
  • 原文地址:https://www.cnblogs.com/chengxingliang/p/2030800.html
Copyright © 2011-2022 走看看