Portable OpenWith - some suggestions
Posted: 28 Nov 2009 23:23
Hi,
Portable OpenWith is a nice feature, but it fails with some programs - for example with CFF Explorer and ProtectionID. Why? There are at least 4 possible versions of OpenWith in registry:
"E:\Apps\RCE\PE Rebuilding\PE Editors\CFF Explorer\CFF Explorer.exe" "%1"
"E:\Apps\RCE\PE Rebuilding\PE Editors\CFF Explorer\CFF Explorer.exe" %1
E:\Apps\RCE\PE Rebuilding\PE Editors\CFF Explorer\CFF Explorer.exe %1
E:\Apps\RCE\PE Rebuilding\PE Editors\CFF Explorer\CFF Explorer.exe "%1"
Note that the described behavior come from Windows 7. It may be different elsewhere. %1 is parameter (opened file). Notice the quotes! Most programs use the first case - exename in quotes, filename(s) (parameter) in quotes too. This one works well with XYPlorer.
But the other cases don't work - they open program multiple times and each time they pass one selected file as parameter. They also pass parameter
without quotes (this is important). The third/fourth case send parameter in 8-3 format. Would it be possible to add new variables (in addition to <items>) like <items_multiple> and <items_multiple_8_3>, which would open multiple copies of program, send files one by one to each of them and - important - parameter without quotes (in standard or 8-3 format)? You may try yourself - ProtectionID is case #2 and CFF Explorer is case #3. I think it would be useful for users using this feature.
Another useful thing could be, if user could add some parameter to the beginning (some special character), that would add menu separator before the item. For some file types, it's not unusual to have 8 or more openwith commands and this could separate them to groups. Example - exe files could have one group with scanners (peid, exeinfo, protection id), another with editors (ultraedit, pspad, 010 editor) and another with debuggers/disassemblers (ida, ollydbg). It would help the user visually find what he/she needs.
Portable OpenWith is a nice feature, but it fails with some programs - for example with CFF Explorer and ProtectionID. Why? There are at least 4 possible versions of OpenWith in registry:
"E:\Apps\RCE\PE Rebuilding\PE Editors\CFF Explorer\CFF Explorer.exe" "%1"
"E:\Apps\RCE\PE Rebuilding\PE Editors\CFF Explorer\CFF Explorer.exe" %1
E:\Apps\RCE\PE Rebuilding\PE Editors\CFF Explorer\CFF Explorer.exe %1
E:\Apps\RCE\PE Rebuilding\PE Editors\CFF Explorer\CFF Explorer.exe "%1"
Note that the described behavior come from Windows 7. It may be different elsewhere. %1 is parameter (opened file). Notice the quotes! Most programs use the first case - exename in quotes, filename(s) (parameter) in quotes too. This one works well with XYPlorer.
But the other cases don't work - they open program multiple times and each time they pass one selected file as parameter. They also pass parameter
without quotes (this is important). The third/fourth case send parameter in 8-3 format. Would it be possible to add new variables (in addition to <items>) like <items_multiple> and <items_multiple_8_3>, which would open multiple copies of program, send files one by one to each of them and - important - parameter without quotes (in standard or 8-3 format)? You may try yourself - ProtectionID is case #2 and CFF Explorer is case #3. I think it would be useful for users using this feature.
Another useful thing could be, if user could add some parameter to the beginning (some special character), that would add menu separator before the item. For some file types, it's not unusual to have 8 or more openwith commands and this could separate them to groups. Example - exe files could have one group with scanners (peid, exeinfo, protection id), another with editors (ultraedit, pspad, 010 editor) and another with debuggers/disassemblers (ida, ollydbg). It would help the user visually find what he/she needs.