我做了一个简单的音乐播放器,想实现文件关联,几年之前倒是做过一些,当时是XP,关联也做的不太好,现在又遇到了同样的问题。
我就是想问比如: 在win7下,如何在MP3文件右键菜单里弹出将添加到“MyPlayer播放列表”和“使用MyPlayer播放”,再个就是设置为MP3的默认播放器,高手给指点一下吧?我有部分代码:
Private Sub AddMusicPlayer(ByVal Ext As String, ByVal player As String) Dim reg As New clsRegister ‘我自己定义的可以方便访问注册表的类 Dim keyName As String keyName = "MyPlayer." & Ext reg.UpdateKey HKEY_CLASSES_ROOT, "." & Ext, "MyPlayer", keyName reg.UpdateKey HKEY_CLASSES_ROOT, keyName, "", Ext & " file" reg.UpdateKey HKEY_CLASSES_ROOT, keyName & "\DefaultIcon", "", player & ",0" reg.UpdateKey HKEY_CLASSES_ROOT, keyName & "\Shell", "", "" reg.UpdateKey HKEY_CLASSES_ROOT, keyName & "\Shell\Open", "", "打开(&O)" reg.UpdateKey HKEY_CLASSES_ROOT, keyName & "\Shell\Open\Command", "", """" & player & """ add ""%1""" reg.UpdateKey HKEY_CLASSES_ROOT, keyName & "\Shell\Open", "", "添加到“MyPlayer”播放列表(&P)" reg.UpdateKey HKEY_CLASSES_ROOT, keyName & "\Shell\Open\Command", "", """" & player & """ play ""%1""" End Sub Private Sub menuSetMusicPlayer_Click() AddMusicPlayer "MP3", App.Path & "\" & App.EXEName & ".exe" End Sub
以上代码是参照下面这个介绍设置的,但右键菜单一点反应都没有,我看菜单里也有Kugou7,但它就很正常:http://hi.baidu.com/hhythink/item/c36501eea9ca482b5b2d64db
运行后我看了注册表的值和这个网址里设置的几乎一模一样了,但右键没有任何变化,会是什么原因呢?
之前看到HKEY_CLASSES_ROOT\mp3file下创建键值来实现关联,但我机子上这个键里空空如也,看来我机子上的播放器根本就没有写这个键,而HKEY_CLASSES_ROOT\.mp3的确如那篇介绍所说。
原来是酷狗这货做了什么插件之类的,就说按微软的说法设置老不成功,卸载了酷狗这货就好了,怎么设怎么灵.
参考这里:http://msdn.microsoft.com/en-us/library/windows/desktop/hh127445(v=vs.85).aspx