Dec
|
Posted: Wed Apr 12, 2017 06:59 Post subject: |
|
|
Flasher wrote: | Что по 4096? |
Я так и не понял, за что этот флаг отвечает.
Flasher wrote: | Что по MoveHere? |
Как ни странно, но как для сценариев, где указана функция CopyHere, так и для сценариев, где указана функция MoveHere, wscript.exe передает набор флагов [DROPEFFECT_COPY, DROPEFFECT_MOVE, DROPEFFECT_LINK], что обозначает, что я сам должен выбрать из этих вариантов, что мой код будет делать (мой код выбирает всегда DROPEFFECT_COPY). Т.е. я не могу в своем коде отличить CopyHere от MoveHere.
Flasher wrote: | Но она хотя бы в Temp их кидает. |
А чем Temp лучше директории архива? Я лишь вижу две причины, чем хуже.
1) Temp может располагаться на другом физическом диске. Это обозначает, что после создания новой версии архива новый файл нужно КОПИРОВАТЬ с диска на диск вместо простого удаления исходного архива и переименования новой копии.
2) Для shell важна скорость, с которой обновляется файл. Если исходный архив удалить и начать копировать его новую версию из другой папки, то shell будет считать, что файл удален, и окна с архивами, открытые в Проводнике, просто закроются. А если удалить и быстро переименовать, то для shell это будет обновленный файл, поэтому окна с архивами, открытые в Проводнике, просто обновятся в соответствии с новым содержимым архива.
Flasher wrote: | Если не получится, то по умолчанию TC4Shell лучше отвязать от ProgID zip-а. | Если тебе не нужна ассоциация между zip и TC4Shell, то просто не включай ее. Или что то иное подразумевалось?
Flasher wrote: | А можешь сделать, чтобы при применении обновлялись только изменённые значения вместо полной перезаписи? | Нет. Это механизм самодиагностики и подчистки ненужных файлов. |
|