在2015年12月26日的资源管理器更新后,通过Windows窗体应用程序的闪存控制不再起作用

时间:2015-12-31 09:57:23

标签: forms flash axshockwaveflash

我们有一个显示Flash内容的Windows窗体应用程序。 直到2015年12月26日星期日,这完美地运作了。

现在我得到: 类型为System.Runtime.InteropServices.COMException'的第一次机会异常。发生在AxShockwaveFlashObjects.dll中 附加信息:尚未提供完成此操作所需的数据。 (HRESULT异常:0x8000000A)

我在加载后尝试从控件中询问TotalFrames。 有没有人经历过同样的事情?

Windows窗体代码(visual studio 2015):

Private WithEvents FlashControl As AxShockwaveFlashObjects.AxShockwaveFlash = Nothing

Private Sub Form1_VisibleChanged(sender as Object,e As EventArgs)处理Me.VisibleChanged     On Error Resume Next

FlashControl = New AxShockwaveFlashObjects.AxShockwaveFlash
FlashControl.Name = System.Guid.NewGuid.ToString
FlashControl.Size = New System.Drawing.Size(500, 300)
Me.Controls.Add(FlashControl)
FlashControl.CreateControl()

If FlashControl.Created Then
  FlashControl.LoadMovie(0, "C:\ProgramData\PADS\Content\nds1011_contentorganizer\General-testfiles\studenthealthpack.swf")
  System.Threading.Thread.Sleep(2000)
  Dim GetTotalFrames As Long = 0
  If FlashControl.TotalFrames <> 0 Then
    GetTotalFrames = FlashControl.TotalFrames
  Else
    GetTotalFrames = 0
  End If
  FlashControl.Play()
End If

End Sub

1 个答案:

答案 0 :(得分:0)

是在另一个网站上找到的:

  

首先,您将转到Project>>Properties>>Linker>>System,在   在“子系统”字段中选择“ Windows(/ SUBSYSTEM:WINDOWS)”,然后单击   应用。然后转到字段中的Project>>Properties>>Linker>>Advanced   在“入口点”中,输入值“ Main”并应用,最后单击“确定”。后,   您转到创建的表单的文件代码(例如:MyForm.cpp)并输入代码   下面到此文件

using namespace System;

using namespace System::Windows::Forms;

[STAThreadAttribute]

void Main(array<String^>^ args)

{

Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Project1::MyForm form; Application::Run(%form);

}
     

保存并退出Visual Studio,然后再次将其打开,UI表单将   工作。

原始链接:https://developercommunity.visualstudio.com/content/problem/59825/the-data-necessary-to-complete-this-operation-is-n.html