Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Создание Reg файлов из внутренних ассоциаций ТС 
Author Message
Loopback



PostPosted: Fri Jan 22, 2010 11:04    Post subject: Reply with quote

По-видимому, у нас разные версии Autoit, и функция форматирования работает по-разному, а значит в какой-то из них - баг. Переделал другим способом, тем более что использование форматирования было не очень-то и оправданно.

Нужно заменить этот кусок кода.
Code:

For $i = 1 To $aAssocList[0][0]
    $aExt = StringSplit($aAssocList[$i][0], ";")
    For $j = 1 To $aExt[0]
        $sCurExt = StringTrimLeft(StringStripWS($aExt[$j], 3), 2)
        $sIconFile = @ScriptDir & "\ICON_REG\" & $sCurExt & "_icon.reg"
        $sProgFile = @ScriptDir & "\PROG_REG\" & $sCurExt & "_prog.reg"
        ; программы
        $hFile = FileOpen($sProgFile, 2+8+32)
        FileWriteLine($hFile, "Windows Registry Editor Version 5.00" & @CRLF & @CRLF)
        FileWriteLine($hFile, StringFormat('[HKEY_CLASSES_ROOT\\.%s]\r\n@="%sfile"\r\n\r\n', $sCurExt, $sCurExt))
        FileWriteLine($hFile, StringFormat("[HKEY_CLASSES_ROOT\\%sfile]\r\n\r\n", $sCurExt))
        FileWriteLine($hFile, StringFormat("[HKEY_CLASSES_ROOT\\%sfile\\shell]\r\n\r\n", $sCurExt))
        FileWriteLine($hFile, StringFormat("[HKEY_CLASSES_ROOT\\%sfile\\shell\\open]\r\n\r\n", $sCurExt))
        FileWriteLine($hFile, StringFormat("[HKEY_CLASSES_ROOT\\%sfile\\shell\\open\\command]\r\n", $sCurExt))
        $sProgPath = _TCHExpandEnv($aAssocList[$i][1])
        $sProgPath = StringRegExpReplace($sProgPath, '"*([^"]+)\s*".+"', '\1')
        $sProgPath = StringReplace(StringStripWS($sProgPath, 3), "\", "\\")
        FileWriteLine($hFile, '@="\"' & $sProgPath & '\" \"%1\""')
        FileClose($hFile)
        ; иконки
        $hFile = FileOpen($sIconFile, 2+8+32)
        FileWriteLine($hFile, "Windows Registry Editor Version 5.00" & @CRLF & @CRLF)
        FileWriteLine($hFile, StringFormat('[HKEY_CLASSES_ROOT\\.%s]\r\n@="%sfile"\r\n\r\n', $sCurExt, $sCurExt))
        FileWriteLine($hFile, StringFormat('[HKEY_CLASSES_ROOT\\%sfile]\r\n\r\n', $sCurExt))
        FileWriteLine($hFile, StringFormat('[HKEY_CLASSES_ROOT\\%sfile\\DefaultIcon]\r\n', $sCurExt))
        $sIconPath = _TCHExpandEnv($aAssocList[$i][2])
        $sIconPath = StringReplace($sIconPath, "\", "\\")
        FileWriteLine($hFile, '@="' & $sIconPath & '"')
        FileClose($hFile)
    Next
Next
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group