您的位置:首页 > 其它

关于winform 屏蔽FLASH界面鼠标右键的问题

2013-03-27 17:01 260 查看
最近测试提出问题,要求屏蔽FLASH界面的鼠标右键,经过验证以下方法可行:

在文件里添加以下代码:

private const int GWL_WNDPROC = -4;

public delegate IntPtr FlaWndProc(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);

private IntPtr OldWndProc = IntPtr.Zero;

private FlaWndProc Wpr = null;

[DllImport("user32.dll", CharSet = CharSet.Auto)]

public static extern IntPtr SetWindowLong(IntPtr hWnd, int nIndex, FlaWndProc wndProc);

[DllImport("user32.dll", CharSet = CharSet.Auto)]

public static extern IntPtr CallWindowProc(IntPtr wndProc, IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);

private IntPtr FlashWndProc(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam)

{

if (msg == 516)

return (IntPtr)0;

return CallWindowProc(OldWndProc, hWnd, msg, wParam, lParam);

}

在load函数里添加:

this.Wpr = new FlaWndProc(this.FlashWndProc);

this.OldWndProc = SetWindowLong(axShockwaveFlash1.Handle, GWL_WNDPROC, Wpr);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: