AxShockwaveFlash コントロールを使用して Flash Media を全画面表示するアプリケーションがあります。
マウス クリックでウィンドウを閉じる必要がありますが、AxShockwaveFlash コントロールがアクティブなときにマウス クリックをキャプチャできません。
Click イベントと MouseDown イベントは機能しません。
私のアプリケーションでは、アプリケーションで MouseDown イベントを使用してみましたが、グリッドとコントロールの「ホスト」をサポートしていますが、クリック イベントの通知を受け取るものはありません。
アプリケーションの他の領域はこのイベントを正常に処理するため、Flash コントロールである必要があります。
コード:
_flashHost = new System.Windows.Forms.Integration.WindowsFormsHost();
_axShockwaveFlash = new AxShockwaveFlashObjects.AxShockwaveFlash();
_flashHost.Child = _axShockwaveFlash;
_flashHost.Margin = new Thickness(50, 0, 0, 0);
this.FlashGrid.Children.Add(_flashHost);
_axShockwaveFlash.BeginInit();
_axShockwaveFlash.CreateControl();
_axShockwaveFlash.Menu = false;
_axShockwaveFlash.FlashVars = "start_volume=0";
_axShockwaveFlash.Movie = loadedMediaItem.LocalMediaFile.LocalPath;
_axShockwaveFlash.Play();
XAML
<Window x:Class="CorporateScreenSaver.MediaContainerWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Media" Height="421" Width="600" ShowInTaskbar="False" Topmost="True" WindowState="Maximized" ResizeMode="NoResize" WindowStyle="None" Background="Black" Loaded="MainWindow_OnLoaded" MouseDown="MainWindow_OnMouseDown" KeyDown="MainWindow_OnKeyDown">
<Grid Name="MediaGrid">
<Grid Name="FlashGrid"></Grid>
<MediaElement Name="MediaViewPort"/>
</Grid>
</Window>
グローバル フックまたは AxShockwaveFlash コントロールへのサブスクリプションによって、クリック イベントをキャプチャするにはどうすればよいですか?