写了一个程序,客户端用windowsmediaplayer控件播放视频,服务器可监控客户端播放界面(不是两边同时放一个视频,而是真的服务器监控客户端播放),我可以用vnc实现服务器对客户端的监控,但必须让windowsmediaplayer禁用DirectShow(打开windowsmediaplayer,工具--选项--dvd--高级--directsh控制--多重ffdshow实例,选择“无--禁用”),否则无法监视。现在遇到两个问题,望高手帮忙:
1.不用手动设置,通过程序实现上述功能,应修改windowsmediaplayer控件的哪些属性?
2.我在计算机手动修改上述设置后,windowsmediaplayer就再也改不回来了,谁知道这是怎么回事?
实际上我的目的就是通过程序禁用windowsmediaplayer的directshow,从而实现服务器对播放端(也就是我前面提到过的客户端)的实时监控。望高手帮忙,非常感谢!

解决方案 »

  1.   

    注册表
    [HKEY_USERS\.DEFAULT\Software\Microsoft\MediaPlayer\Player\Settings]下去找找看。
      

  2.   

    试试:引用WMP对象,找到directsh控制,看看行不行?
      

  3.   

    这样设置后,vnc监视时确实能看到播放器的画面,但也仅仅是画面(能看到在播放视频,但视频不动,也就是说类似播放图片的效果)
      

  4.   

    我打开看了,只有一项,名为Client ID。应该不会是改这里吧
      

  5.   

    能说具体一点吗?假设w1为一个windowsmediaplayer控件,vb代码
    w1.setting.?还是w1.dvd.?
    我没找到合适的属性。
    非常感谢!
      

  6.   

    思路一:运行dxdiag“DirectX 诊断工具”设置“显示/DirectX 功能/DirectDraw 加速”禁用。
    思路二:因为同时只能有一个调用者使用directshow,所以你只要先开一个MediaPlayer把directshow给占用了,第二个MediaPlayer自然就不用directshow了。