TechKid Posted July 23, 2011 Posted July 23, 2011 PROJECT BACKGROUNDI recently found out how to map a SkyDrive account to a network drive. However, SkyDrive does not allow copying of certain file types. I'm writing a utility that copies the files as ".bak" files to bypass this block. I am running Windows 7 Professional with MS Office 2010.THE POINTI want to display file type icons next to the copying progress.In the registry, the file type icon is stored in "HKCR\FileType\DefaultIcon\DEFAULT", where "FileType" is a string stored in "HKCR\(insert file extension here)\DEFAULT". Final output is in the format "C:\folder\icons.exe,3".Examples:For INI files, the output is imageres.dll,-69 and the icon shows correctly.For DOC files, the output is C:\...\wordicon.exe,1 and the first icon in "wordicon.exe" is displayed, which is not the document icon.For AU3 files, the output is C:\...\au3script_v10.ico and the icon shows correctly.Notice that the system file types return "-000" while MS Office file types return "000".I've tried adding and subtracting various values, absolute value, negated absolute value, using the negative index number, and using just the index number w/o extra processing, in multiple combinations, with no success.Below is the code in question.;initialize rest of GUI $ICON = GUICtrlCreateIcon(...) ;loads application icon on start $FILE = FileOpenDialog(...) ;only allows selection of 1 file ;Load other file information $TEMP = StringSplit(RegRead("HKCR\" & RegRead("HKCR\." & GetFileExt($FILE), "") & "\DefaultIcon", ""), ",") If $TEMP[0] > 1 Then ; if a multi-icon file is defined, then GUICtrlSetImage($ICON, $TEMP[1], -Number($TEMP[$TEMP[0]])) ;use the negated index number. Else GUICtrlSetImage($ICON, $TEMP[1], 0) ;use the first icon EndIf ;Copies file Func GetFileExt($PATH) ; Gets the characters after "." in $PATH. $TMP = StringSplit($PATH, ".") Return $TMP[$TMP[0]] EndFunc ;==>GetFileExtI COULD just use the code as-is, but the rest of the GUI (below) looks great and I don't want to mess up this one part.
TechKid Posted July 23, 2011 Author Posted July 23, 2011 If possible, I'd also like to use hi-def icons; the current configuration sometimes uses 16x16 icons stretched to fit.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now