我用VB写了一个遥控程序,程序中使用了菜单。
我的菜单其实就是一个无边框的窗口,上面有几个label,且背景透明。
然后我调用API使窗体背景也透明,并使窗口总在最上方。但是我发现,在例如RealPlayer之类的全屏播放软件全屏时,有时
我的菜单弹出来时,会导致系统任务栏出现,且当前活动应用程序
可能已不再是Realplayer,快捷键就失灵了。请问此问题如何解决?

解决方案 »

  1.   

    REALPLAYER或MEDIAPLAYER在全屏幕时是使用DIRECTX的全屏技术,独占显示模式,当你另外的窗口弹出时其全屏模式会被强制失效,这也就是你能看见任务栏的原因。
      

  2.   

    REALPLAYER或MEDIAPLAYER在全屏幕时是使用DIRECTX的全屏技术
    独占显存而菜单是Windows User中的对象
    要想显示菜单,Windows必须掌控显存
    就算是自己写的程序(不是控制另一进程),当工作在DirectX全屏模式,要想显示菜单也是很麻烦
    得使用DirectX的剪裁器将一块区域留给Windows,Windows才能显示菜单
    此区域的大小得自己计算
    而且在DirectX全屏模式与菜单窗口等模态窗口之间的消息处理也是极其复杂至于想控制另一进程DirectX全屏窗口
    那只能用挂接DirectX API的办法
    先不说技术难度
    单DirectX版本众多引起接口数量庞大而带来的工作量就不是个人能搞定的建议你先学习一下DirectX
    试试在DirectX全屏模式中弹出菜单窗口
    你就知道什么叫难度了
      

  3.   

    那能不能有什么办法在Real等全屏播放时,我也能显示汉字
    在屏幕上呢?我发现一开始显示汉字时,不会退出全屏模式,
    但是显示几次之后就退出去了,遥控器的快捷键也不能用了
      

  4.   

    //那能不能有什么办法在Real等全屏播放时,我也能显示汉字有!
    挂接DirectX API
    工作量吓的死人
    想控制其它进程时
    碰到DirectX想都不要想
    直接跳过
    那不是个人能完成的工作