【问题标题】:Capture Mouse Event in Application when AxShockwaveFlash Full ScreenAxShockwaveFlash 全屏时在应用程序中捕获鼠标事件
【发布时间】:2013-09-10 06:42:29
【问题描述】:

我有一个使用 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 控件来捕获点击事件?

【问题讨论】:

    标签: c# wpf axshockwaveflash


    【解决方案1】:

    似乎我可以捕获鼠标点击的唯一方法是使用以下内容。

    http://globalmousekeyhook.codeplex.com/

    工作得非常好。

    using MouseKeyboardActivityMonitor;
    using MouseKeyboardActivityMonitor.WinApi;
    using MouseEventArgs = System.Windows.Forms.MouseEventArgs;
    
    private readonly MouseHookListener _mMouseHookManager;
    
    
    _mMouseHookManager = new MouseHookListener(new GlobalHooker()) {Enabled = true};
    _mMouseHookManager.MouseDown += HookManager_MouseDown;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      相关资源
      最近更新 更多