2011-09-30 12 views
6

estoy tratando de ejecutar un archivo .swf en mi aplicación WPF, he creado una página html y en el que he referenciado mi archivo .swf usando object etiqueta y después de cargar que html página en mi Main Windowejecutar Flash en WPF

mi xaml parece

<Window x:Class="sirajflash.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <WebBrowser Name="myBrowser"></WebBrowser> 
     <!--<Frame Name="myframe"/>--> //tried with frame also but no luck 
    </Grid> 
</Window> 

asignar la fuente

public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 

      myBrowser.Source = new Uri(CreateAbsolutePathTo("playflash.htm"), UriKind.Absolute); 
     } 
     private static string CreateAbsolutePathTo(string mediaFile) 
     { 
      return System.IO.Path.Combine(new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName, mediaFile); 
     } 
    } 

El problema:

cuando ejecuto la aplicación de la advertencia se produce ActiveX que el contenido está intentando acceder, etc, etc y cuando permito que nada aparece en la ventana principal de la advertencia sigue ocurriendo varias veces.

si corro la película flash en el navegador directamente se ejecuta muy bien.

Atentamente.

+0

¿Está usted en x86 o x64 máquina? – spender

+0

estoy usando la máquina x86 –

+0

No es que entonces ... – spender

Respuesta

4
  1. Tengo un reloj basado en flash como un archivo .swf en mi C: \ Prueba \ MyClock.swf

  2. Tengo un archivo htm en C: \ Prueba \ MiHTML.htm

    <embed src=C:\Test\MyClock.swf 
         width=200 height=200 
         wmode=transparent type=application/x-shockwave-flash> 
        </embed> 
    
  3. tengo el control del navegador web como a continuación ...

    <Window x:Class="MyFlashApp.MainWindow" 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        Title="MainWindow" Height="350" Width="525"> 
        <Grid> 
        <WebBrowser Source="C:\Test\MyHtml.htm"></WebBrowser> 
        </Grid> 
    </Window>   
    
  4. al ejecutar la aplicación, veo la w Control ebbrowser dando como advertencia "To help protect your security, Internet Explorer has restricted this file from showing active content that could access your computer. Click here for options."

  5. Acepto los términos haciendo clic derecho y el clic izquierdo "Permitir contenido bloqueado". Aparece una ventana emergente de confirmación a la que digo Yes.

  6. veo el reloj basado en Flash.

+0

muchas gracias que funcionó lo estaba haciendo con el '' cambiando a 'incrustar' resuelto el problema –

+0

Me alegro de poder ayudar. Esto sugiere otro punto que debemos publicar tanto código fuente relevante como sea posible con nuestra pregunta. :-) –

0

El control WebBrowser puede admitir flash directamente. Si no necesita presentar nada en HTML, puede proporcionar directamente la ruta al archivo flash.

myWebBrowser.Source = "C:\Test\MyClock.swf" 

Sin embargo, seguirá recibiendo el mensaje de advertencia de IE.