在wpf中需要用到flash播放swf或者图片,需要使用

AxShockwaveFlashObjects.dll和ShockwaveFlashObjects.dll

在项目中使用的时候遇到

问题1.使用WindowsFormsHost总是置顶的问题,到目前为止没有很好的解决

问题2.就是AxShockwaveFlash取消鼠标右键

屏蔽掉flash右键方法:

重写AxShockwaveFlash

 public partial class MyShockwaveFlash : AxShockwaveFlash
{
public event MouseEventHandler MouseRightDown;
public delegate void MouseEventHandler(object sender, System.Windows.Forms.MouseEventArgs e);
private const int WM_LBUTTONDOWN = 0x0201;
private const int WM_RBUTTONDOWN = 0x0204; protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_RBUTTONDOWN:
Int16 x = (Int16)m.LParam;
Int16 y = (Int16)((int)m.LParam >> );
MouseRightDown(this, new System.Windows.Forms.MouseEventArgs(System.Windows.Forms.MouseButtons.Right, , x, y, ));
break;
}
if (m.Msg == WM_RBUTTONDOWN)
{
return;
}
base.WndProc(ref m);
}
}

然后使用方法如下:

private void MediaElementControl()
{
FlashPlayer = new MyShockwaveFlash();
wfhFlash.Child = FlashPlayer;
FlashPlayer.Movie = AppDomain.CurrentDomain.BaseDirectory + "main.swf";
FlashPlayer.MouseRightDown += new MyShockwaveFlash.MouseEventHandler(FlashPlayer_MouseRightDown);
} void FlashPlayer_MouseRightDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
//这里您可以加入自己的处理或者其他您想处理的代码//System.Windows.MessageBox.Show("asfasdfasdf");
return;
}

最后问题2 顺利得以解决,但是对于问题1目前还没有找到很好的解决方法,哪位朋友如果有解决方法或者思路欢迎讨论交流或者留言均可,谢谢。

wpf 中AxShockwaveFlash重写以及屏蔽鼠标右键的更多相关文章

  1. 在Google Chrome中快速解除网页屏蔽鼠标右键、复制等限制

    第一步,将书签栏设置为显示状态!   第二步,添加新书签——>在标签栏点击右键,选择“添加网页”. 第三步,设置新书签的内容. 1.起名.这个凭个人爱好吧 2.网址栏输入: javascript ...

  2. C#引用CefSharp并屏蔽鼠标右键和禁止拖动放置事件

    原文:C#引用CefSharp并屏蔽鼠标右键和禁止拖动放置事件 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013564470/article/ ...

  3. 转:js小技巧 ,将彻底屏蔽鼠标右键,可用于Table ,取消选取、防止复制,IE地址栏前换成自己的图标

    1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键<table border oncontextmenu= ...

  4. 屏蔽鼠标右键功能JS

    <script language="Javascript">     function hiderightKey(){    return false; } docum ...

  5. IE屏蔽鼠标右键、禁止复制粘贴等功能

    <body oncontextmenu="return false" onselectstart="return false" ondragstart=& ...

  6. Javascript屏蔽鼠标右键-超简单,不过还是记录一下

    Javascript屏蔽鼠标右键,其实作用也不大,也许是为了防止别人查看源代码,其实想查看源代码有多种途径,未必需要通过鼠标右键.不过当我们自定义鼠标右键弹出菜单时,也许需要这些. 下面是源码: 1 ...

  7. C# winform 屏蔽鼠标右键 spreadsheet Gear 屏蔽鼠标右键菜单

    今天用到spreadsheetGear 插件,然后右键有插件自己的菜单.都是英文的,而且还能打开新的窗体.嵌到程序里面,不太合适,所以着手屏蔽. 刚开始用的Mouse_up,虽然能捕获事件,但是没有K ...

  8. html屏蔽鼠标右键

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. JS屏蔽鼠标右键

    //方法1: function stop() {    return false;}document.oncontextmenu = stop;//方法2: window.document.oncon ...

随机推荐

  1. Python基础二--基本控制语句

    基本接触每一种语言,都须要做的:1.print 一个"Hello world!" 2.了解主要的数据类型 3.学习控制语句. 当我们学习控制语句,一般都离不开if,for ,whi ...

  2. python day- 5 字典(dic)的 增删改查 及 操作方法

    字典(dic) 1.定义及格式 用{ }大括号括起来的,由key:value 来保存数据的就是 字典(dic) eg:dic = {"及时雨" : "宋江" , ...

  3. 新装Linux系统没有网卡驱动的解决办法和步骤

    Linux下查看网卡驱动和版本信息 - CSDN博客 https://blog.csdn.net/guyan1101/article/details/72770424/ 检查网卡是否加载 - Linu ...

  4. Pattern: API Gateway / Backend for Front-End

    http://microservices.io/patterns/apigateway.html Pattern: API Gateway / Backend for Front-End Contex ...

  5. MRP 流程

    正常流程是这样的:需要>MRP>PLANNED ORDER>PR>PO PLANNED ORDER>PR>PO之间的转换可手工或自动设置转换的时间点是根据计划边际, ...

  6. Replace Type Code With Class和Replace Type Code With Subclass和Replace Type Code With State/Strategy

    周末闲来写写看书总结,今天写<重构>中的3个重要手法,分别是Replace Type Code With Class.Replace Type Code With Subclass和Rep ...

  7. spring cloud-服务注册

    正常的服务模块,注册到注册中心,让别的服务发现,调用服务 创建“服务提供方” 下面我们创建提供服务的客户端,并向服务注册中心注册自己. 假设我们有一个提供计算功能的微服务模块,我们实现一个RESTfu ...

  8. linq to xml There are multiple root elements.

    添加xml结点的时候 var temp2 = temp1.Element("staticContent"); if (temp2 != null) { string str = & ...

  9. Android API中的对话框

    Android API中提供了四个Dialog的自定义子类: AlertDialog ProgressDialog DatePackerDialog TimePickerDialog 也可以派生出自己 ...

  10. GDUT 积木积水 2*n 时间复杂度

    题意 Description 现有一堆边长为1的已经放置好的积木,小明(对的,你没看错,的确是陪伴我们成长的那个小明)想知道当下雨天来时会有多少积水.小明又是如此地喜欢二次元,于是他把这个三维的现实问 ...