如何获取正在mediamplayer中播放的文件?(在IE中)(急待解决)

snwxf 2006-05-22 08:47:36
IE中嵌入了一个mediaplayer播放器(就是播放插件),现在正在播放一个视频文件,怎么才能知道他正在放的这个文件的文件名呢?

我对这个一无所知,甚至不知道应该采用什么方法去解决,那怕一点思路也没有,使用一些方法我可以获得当前打开的页面的地址,


希望大家给点建议!非常感谢!一点思路也行.
或者也可以讨论一下怎么获得mediaplayer(不是插件)播放的文件名?
再或者能不能获得当前IE正打开的磁盘文件的文件名?(因为这个插件播放的是磁盘上的文件,所以一旦知道IE正在打开的文件,也就可以找到插件播放的视频文件了:)
再再或者怎么样能知道操作系统目前正打开了些什么文件?

现在我有一个想法,估计点击一个播放链接的时候,会产生一个windows系统消息,我猜想这个消息里面应该会包括它所点击的具体地址,所以如果能捕获这个消息的话,不是就可以找到播放的链接了吗?
不知道我的想法可不可行.

非常希望大家给点建议!
谢谢啦!
...全文
216 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sz_lgp 2006-10-09
  • 打赏
  • 举报
回复
mark
snwxf 2006-05-25
  • 打赏
  • 举报
回复
非常感谢!搞掂
蒋晟 2006-05-24
  • 打赏
  • 举报
回复
WebBrowser1.Document.parentWindow.frames(1).Document
sz_lgp 2006-05-24
  • 打赏
  • 举报
回复
mark
snwxf 2006-05-24
  • 打赏
  • 举报
回复
目前还存在一个问题,这个网页上有不少于3个Frame,按上面说的内容,我试过,但只能获得地址栏里显示的地址的源文件,无法得到其它的FRAME上的源文件,应该说得到的是静态内容,即设计时的内容,而不能动态地得到,由于其中有一个Frame内嵌一个ASP文件,所以其实这个ASP的内容是动态的,但我得到的只是设计时Frame上的属性


我怎么样才能得到Frame中动态的源文件内容?


我写的代码如下:


Public sub prco()

dim iww as new ShellWindows
For Each iw As WebBrowser In iww
Try

If TypeOf iw.Document Is mshtml.HTMLDocument Then


'这个文档的中嵌入了另一个文档,showasp.asp,要从这个showasp.asp中获得数据,怎么样从主文档中得到showasp.asp文档呢?

Try
For Each kd As HTMLFrameElement In kk.getElementsByName("show")
'这里可以获得一个Frame,但只能检索到设计时的静态内容,而无法得到动态内容.
Next

Catch ex As Exception
End Try
Catch ex As Exception

End Try

next

end sub
snwxf 2006-05-23
  • 打赏
  • 举报
回复
大家帮帮忙啊,我现在准备用jiangsheng(蒋晟.Net[MVP]) 的提供链接中的方法来解决,
上面有一个链接是获得ACTIVE控件的属性,以许可行,但是它提供的VC代码,我要用VB实现,看来有点问题了

另外,dxef(丁丁) 所说的方法,从源代码中去搜索,我分析了一下源文件,好象里面没有相应的地址,所以估计行不通.但也许我的理解有问题,或者我的问题没有描述清楚
snwxf 2006-05-23
  • 打赏
  • 举报
回复
谢谢大家!

看了,欢迎大家继续!非常感谢
蒋晟 2006-05-22
  • 打赏
  • 举报
回复
turn off option strict and search for the object tag (it should have a value in the id property that you can use) using the document.all collection. Once you have that, dim a variable which is of type MSHTML.IHTMLObjectElement and set that element to that interface. Then use the object property on the IHTMLObjectElement interface to get a reference to YOUR activex control. You will need to add the HTML object library to your project in order to get the IHTMLObjectElement interface, which is MSHTML.dll in ie4, and MSHTML.tlb in IE5.
see also
http://blog.csdn.net/jiangsheng/archive/2002/08/19/3788.aspx
snwxf 2006-05-22
  • 打赏
  • 举报
回复
首先,我非常非常感谢您(dxef(丁丁) :)的回复!

对于上面的内容,我再说明如下:

有一些视频文件,组织成一个目录树,存放在本地磁盘上,使用个HTM页面作为一个播放平台,这个HTM是一个本地文件,不需要IIS提供服务,就象一个保存在本地的网页,打开后,是一个播放界面,上面有一个导航树,象资源管理器一样,只是显示的内容比资源管理器丰富(包括文件介绍等),上面不家一个ACTIVE控件,mediaplayer嵌入到这个ACTIVE里,点击的内容是一个在这个控件上面,源文件里找不到地址或者文件名.


希望您能再给点建议!
我是丁学 2006-05-22
  • 打赏
  • 举报
回复
IE中嵌入了一个mediaplayer播放器(就是播放插件),现在正在播放一个视频文件,怎么才能知道他正在放的这个文件的文件名呢?
----在源代码中搜寻控件,从参数里可以看出
----但如果网页中有两个或者以上,不能保证你得到的就是你想要的


我对这个一无所知,甚至不知道应该采用什么方法去解决,那怕一点思路也没有,使用一些方法我可以获得当前打开的页面的地址,
----这个对你的需求好像没什么帮助


希望大家给点建议!非常感谢!一点思路也行.
或者也可以讨论一下怎么获得mediaplayer(不是插件)播放的文件名?
----除非你使用Active控件且被客户端接受,否则,不可能


再或者能不能获得当前IE正打开的磁盘文件的文件名?(因为这个插件播放的是磁盘上的文件,所以一旦知道IE正在打开的文件,也就可以找到插件播放的视频文件了:)
----IE正在播放磁盘中的文件?这个什么意思?
----是客户端磁盘里的?这不可能,如果是指服务器磁盘,最上面的回复就是了


再再或者怎么样能知道操作系统目前正打开了些什么文件?
----ASP.NET到客户端也只是网页而已,不可能获取这些消息


现在我有一个想法,估计点击一个播放链接的时候,会产生一个windows系统消息,我猜想这个消息里面应该会包括它所点击的具体地址,所以如果能捕获这个消息的话,不是就可以找到播放的链接了吗?
不知道我的想法可不可行.
----没明白哦
snwxf 2006-05-22
  • 打赏
  • 举报
回复
没有理?看看也行啊

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧