问题描述
|
我想编写一个实现wx.FileDropTarget的Python / wxPython应用。这部分很容易。我还想显示文件图标,将其拖到应用程序窗口上,然后在应用程序窗口内显示带有文件图标(以及其他元数据,也许像大小)的代理。
我想在Windows 7上实现此功能。但是我对能够在OS X和Linux上实现此功能感兴趣。
我已经搜索并搜索了Python v2.7.1文档-但无济于事。我在Windows方面有点陌生,所以如果有一种方法可以识别与文件关联的BMP或ICO文件-那么我可以采用这种方法...
任何示例代码总是值得赞赏的。
解决方法
我认为,不仅有一种可移植的方式来完成此任务……在Windows平台上,文件类型关联的默认图标存储在系统注册表中(该图标位于exe资源中的可执行文件除外)和linux平台上它取决于桌面环境,每个人都有其自己的标准...因此,我不认为有一种“通用”的方式可以做到这一点。
, 这个例子应该让您开始在Windows中查找文件图标:
from _winreg import *
extension = \'.html\'
reg = OpenKey(HKEY_CLASSES_ROOT,extension)
(value,vtype) = QueryValueEx(reg,None)
print \"file type is:\",value
reg = OpenKey(HKEY_CLASSES_ROOT,value + \'\\DefaultIcon\')
(value,None)
print value,vtype
%ProgramFiles%\\ Internet Explorer \\ iexplore.exe,-17 2
...至少这就是我系统上的内容。