Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to find via Python the icon associated with a Windows file?

I'm developing a Python script to do file management on Windows. Essentially, I want to be able to move files to another location, and create in their place a shortcut to a Python script which will do intermediate steps before opening the relocated file. I can currently move files, create functioning shortcuts, and set the shortcut icon image. The only thing I have left is to figure out how to detect the icon which is displayed for the file.

-Need to set the icon for a shortcut (which points to a '.py' script)

-This icon should match that of an arbitrary filetype, exe, etc, which I have the path to

-Hopefully done programmatically through Python. os.system() calls are acceptable. Extra credit is given for not requiring additional modules (though I already have win32com, winshell, pythoncom, etc)

Thanks in advance...

like image 843
Corey Girard Avatar asked Jun 12 '12 03:06

Corey Girard


1 Answers

File type information is found in the registry. You could look up the file extension's type with the windows registry module.

Edit: It appears icons are available through shell32, as seen here. The Python equivalent seems to be ctypes.windll.shell32.ExtractIconA, though I'm not sure about the syntax.

like image 51
NoBugs Avatar answered Oct 02 '22 00:10

NoBugs