【问题标题】:WMP: unable to control/handle events when in fullscreenWMP:全屏时无法控制/处理事件
【发布时间】:2012-05-29 04:49:07
【问题描述】:

我已经在我的表单中添加了一个 Windows Media 控件,并且能够完美地使用它,除非它处于全屏状态。似乎我无法通过应用程序中的关键事件来操作控件的任何方面。我目前的目标是处理“esc”键以退出全屏。从那以后我可以做更多的事情。

如果您有任何想法,请告诉我!

谢谢,凯文

【问题讨论】:

    标签: c# .net windows-media-player wmp


    【解决方案1】:

    我曾经在某个地方找到了这段代码并且运行良好,但不记得我是从哪里得到的。

        public partial class WMForm : Form,IMessageFilter
    
    {
    
        public WMForm()
    
        {
    
            InitializeComponent();
    
        }
    
    
    
        private void WMForm_Load(object sender, EventArgs e)
    
        {
    
            this.MyWindowsMediaPlayer.URL = @"YourFilePath/Url";
    
            Application.AddMessageFilter(this);
    
        }
    
    
    
        private void WMForm_FormClosing(object sender, FormClosingEventArgs e)
    
        {
    
            Application.RemoveMessageFilter(this);
    
        }
    
    
    
        #region IMessageFilter
    
        private const UInt32 WM_KEYDOWN = 0x0100;
    
        public bool PreFilterMessage(ref Message m)
    
        {
    
            if (m.Msg == WM_KEYDOWN)
    
            {
    
                Keys keyCode = (Keys)(int)m.WParam & Keys.KeyCode;
    
                if (keyCode == Keys.Escape)
    
                {
    
                    this.MyWindowsMediaPlayer.fullScreen = false;
    
                }
    
                return true;
    
            }
    
            return false;
    
        }
    
        #endregion
    
    }
    

    【讨论】:

    • 谢谢,我会试试这个并回复你。如果有效,50 赏金将归您所有!
    • 好吧,我今天有时间尝试一下。谢谢吨,为我的 WMP 项目实施 keydowns 的好方法。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多