rekshd
- Стаж: 5 лет 11 месяцев
- Сообщений: 331
- Репутация:7[+] [-]
|
89429Лучший выбор ini-файл, к тому же можно сохранять размер окна. Согласен с Вами. Как я понимаю, в ini будет находится параметр - переключатель да\нет - для регистрации программы в контекстном меню. При первом старте прога считывает этот параметр и если он "Да", то прописывает себя в контекстное меню. С учётом того конкретного места, где она в это время находится ?
|
dimo70
- Стаж: 6 лет 11 месяцев
- Сообщений: 3777
- Репутация:27[+] [-]
- Откуда: BG
|
Есть просьба. Если возможно, сделать возможность мультивыбора на удаление например. Сейчас нужно удалять папки по одну.
_________________ Подпись отключена за нарушение правил форума
|
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
dimo70 это уже было, я ответил Сейчас ковыряю Grub2-generator. Как на счёт выбор пункта "открыть папку" и там удалить выбирая несколько папок? Можно даже все, а потом кликать исключаемые. Где то видел режим чекбокса напротив пунктов дерева, по крайней мере можно наставить галочек, тоже что выделение и потом удалить.
|
dimo70
- Стаж: 6 лет 11 месяцев
- Сообщений: 3777
- Репутация:27[+] [-]
- Откуда: BG
|
|
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
Обновил. Если запуск без параметров, то есть кликом exe-файла, то спрашивает прописать ли в реестр или удалить ли существующую прописку из реестра. Если в ini r=0 то не спросит. Без ini спросит. Добавил иконки из Shell32.dll, то есть отображаются такие же как в проводнике, а не собственные. Добавил иконки в меню. Сохраняет размеры окна.
|
dimo70
- Стаж: 6 лет 11 месяцев
- Сообщений: 3777
- Репутация:27[+] [-]
- Откуда: BG
|
AZJIO, спасибо! Проверил подключение в контекстное меню, все ок. Даже упаковал в репак екзешник обе разрядностей. Кстати еще идея появилась по поводу FileSizesList. Возможно сделать в меню рядом с удаление папки меню скопировать папку в другое место?
_________________ Подпись отключена за нарушение правил форума
|
sam_sobi
- Стаж: 8 лет 8 месяцев
- Сообщений: 198
- Репутация:3[+] [-]
|
упаковал в репак екзешник Thanks A Lot, amigo !
|
rekshd
- Стаж: 5 лет 11 месяцев
- Сообщений: 331
- Репутация:7[+] [-]
|
89631Обновил. Если запуск без параметров, то есть кликом exe-файла, то спрашивает прописать ли в реестр или удалить ли существующую прописку из реестра. Если в ini r=0 то не спросит. Без ini спросит. Добавил иконки из Shell32.dll, то есть отображаются такие же как в проводнике, а не собственные. Добавил иконки в меню. Сохраняет размеры окна. Отличная полезняшка получилась ! Усё работает, как Вы описали. Тока в одном месте - в контекстном меню почему-то иконка не прорисовалась на W7x64SP1ru
|
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
она просто такая - неизвестный документ - первая иконка в Shel32.dll, она же и для файлов используется. Может надо иконку как у программы без значка, для которой винда использует значок приложения (3-й в списке)? То есть я хотел сигнализировать значком, что открывается как файл.
|
rekshd
- Стаж: 5 лет 11 месяцев
- Сообщений: 331
- Репутация:7[+] [-]
|
89648она просто такая - неизвестный документ - первая иконка в Shel32.dll, она же и для файлов используется. Может надо иконку как у программы без значка, для которой винда использует значок приложения (3-й в списке)? То есть я хотел сигнализировать значком, что открывается как файл. Этот значок у меня ассоциируется с неприятностями - c потерей ассоциации файлом Что частенько бывает после шаловливых ручек пользователей или вирусной атаки. Думаю что для пункта контекстного меню "открыть в программе" подойдёт любая иконка, тока не та, которая есть сейчас Идеальный вариант - "родная" иконка из Проводника для конкретного файла (иконка ассоциированной программы) То есть для файла Word - вордовская, для AkelPad - блокнотовская, для папки - Проводниковская А можно в самом листинге файлов и папок внутри окна FileSizesList оставить иконки файлов в том же виде, в котором они есть в проводнике ? Вот иконки в проводнике и отображаемые в FileSizesList
Согласитесь, если бы иконки у файлов и папок в FileSizesList были как в Проводнике, то выглядело бы лучше ... И визуально было б проще ориентироваться среди множества отображаемых папок и файлов в окне FileSizesList
|
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
rekshd Программа будет тормозить, так как ей придётся обращаться в реестр за ассоциациями и прорисовывать тысячи файлов, к которым даже обращаться не будешь. Здесь же не как в эксплорере, когда прорисовывается только текущая папка. Да и вообще какой смысл превращать из утилиты эксплорер, её задача просто найти большие папки и быстро подчистить, для тонкой настройки и прочих задач можно открыть в эксплорере эту же папку и делать в ней что угодно и значки там будут и удаление с множественным выбором и сортировка по размеру там включается, то есть будет слева прога, справа эксплорер с таким же отображением папок, только без указания размера, да и то в табличный вид включить, будут файлы с размером. Экспериментировал с чекбоксами, почему-то в той папке где отмечен файл или папка, все его родительские папки детектируются как отмеченные (разгадал, не тот флаг проверял для списка вместо дерева). Вид мне уже не нравится, как вариант либо делать отдельную прогу с таким видом, либо параметр в ком-строке, чтобы включить стиль отображения чекбоксов и добавление пункта "Удалить отмеченное". dimo70 Добавил дополнительные exe-файлы с пометкой CheckBox, пробуй.
|
Отправлено: 10-Ноя-2021 08:22
(спустя 1 час 11 минут)
dimo70
- Стаж: 6 лет 11 месяцев
- Сообщений: 3777
- Репутация:27[+] [-]
- Откуда: BG
|
AZJIO, Windows 11 - работает Еще идея - при наличии чекбоксов уже есть возможность выбрать и скопировать выбранных елементов в другую папку.
_________________ Подпись отключена за нарушение правил форума
|
Отправлено: 10-Ноя-2021 10:19
(спустя 1 час 49 минут)
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
Ещё сделал вариант назвал его "с иконками", тоже можете потестировать. Было 2 варианта: использовать функцию SHGetFileInfo или AssocQueryString+ExtractIconEx. Здесь SHGetFileInfo хорош тем, что берёт иконку с кеша как я понимаю, то есть на движке эксплорера, но ему требуется полный путь к файлу, с несуществующим файлом не работает, грубо говоря функция пройдёт все стадии проверок, и выдаст иконку которая была бы в эксплорере для этого файла и выдаст дескриптор иконки. Другая, которую мне и пришлось использовать AssocQueryString, ей требуется только расширение файла, например "gif" и функция вернёт путь типа "Shell32.dll,-5", то есть тупо возьмёт из реестра строку для дефайлт_икон, недостаток этого способа - надо парсить строку чтобы разделить путь и индекс иконки, далее путь и индекс скормить ExtractIconEx, и получить дескриптор, но надо ещё преобразовать текст-индекс в число, а путь с разделителем "," (запятая), если запятая встретится в пути к файлу с иконкой то будет ложный парсинг, надо усложнять, поэтому надеемся что запятая в пути к проге с иконкой не будет, а для защиты введено проверка существования пути (не продумал иконку если путь не найден, возьмёт наверно предыдущую). Для ускорения алгоритма расширения хешируются, поиск по списку уже добавленных расширений и взятие иконки уже ранее извлечённой. Проверил скорость, с иконками выполнилось за 9 сек, без иконок за 6 сек. Тестировать надо с двойным поиском, первый поиск хеширует инфу (адреса файлов) на жёстком диске и поэтому первый поиск всегда медленно для одной папки, а скорость проверяется вторым поиском. rekshd На Win10 иконки покрасивее поэтому можно было бы и без иконок. Ну и вариант пропатчить Shell32.dll своими иконками, взяв из той же Win10, хоть это и нарушение лицензии, но те старые иконки ужасны, да ещё вид открытых папок. Вариант с чекбоксами можно было бы сделать, указав в ini-файле.
|
Страница 2 из 8
Текущее время: 21-Ноя 17:35
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|