You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Access中Windows Media Player插件全屏失效问题求助

解决Windows Media Player插件全屏闪回问题

针对你遇到的WMP插件点击按钮全屏后闪回的问题,可尝试以下几种解决方案:

  • 先确保控件获得焦点
    之前正常的代码可能因为控件焦点丢失导致全屏状态被窗体抢占,添加焦点设置后再执行全屏命令:

    Me.wmp.SetFocus
    Dim wmp As Object
    Set wmp = Me.wmp.object
    wmp.fullscreen = True
    
  • 禁用窗体重绘避免干扰
    窗体的自动重绘事件可能会强制重置WMP窗口状态,可临时禁用重绘再恢复:

    Me.Repaint = False
    Me.wmp.SetFocus
    Dim wmp As Object
    Set wmp = Me.wmp.object
    wmp.fullscreen = True
    Me.Repaint = True
    
  • 用API强制锁定全屏窗口
    若系统或窗体的窗口层级逻辑干扰全屏状态,通过Windows API将WMP窗口置顶锁定:
    首先在模块顶部添加API声明:

    Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
    Const HWND_TOPMOST = -1
    Const SWP_SHOWWINDOW = &H40
    

    然后修改全屏按钮的代码:

    Me.wmp.SetFocus
    Dim wmp As Object
    Set wmp = Me.wmp.object
    wmp.fullscreen = True
    SetWindowPos wmp.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_SHOWWINDOW
    
  • 排查后台干扰代码
    检查窗体是否存在定时器(Timer)控件或其他异步执行的VBA代码,这些代码可能在全屏设置后触发窗口状态重置,临时禁用相关代码测试是否恢复正常。

  • 确保视频处于播放状态再设置全屏
    部分情况下WMP在暂停状态下全屏设置会出现异常,先触发播放再设置全屏:

    Me.wmp.SetFocus
    Dim wmp As Object
    Set wmp = Me.wmp.object
    wmp.controls.play
    wmp.fullscreen = True
    

内容的提问来源于stack exchange,提问作者Lowendz113

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:22:11