[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
rekshd, перекачай
Ctrl+A и Del добавлены.
параметр "RegProg = путь" укажи в ini
ещё перекачай, добавил удаление всех меню (но не списка, его можно отдельно удалить Ctrl+A потом Del)

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 11 месяцев
  • Сообщений: 331
  • Репутация:7

    [+] [-]
90200rekshd, перекачай
Ctrl+A и Del добавлены.
параметр "RegProg = путь" укажи в ini
ещё перекачай, добавил удаление всех меню (но не списка, его можно отдельно удалить Ctrl+A потом Del)
Усё добавленное отлично работает.
Правда с редакторами реестра в наглую первоначально не пошло.
Пришлось покурить мануалы по использованию их в командной строке и вообще по ихним командам запуска.
И "шалость удалась" Настроил и Registry WorkShop, и RegistryFinder. А других мне пока и не надо.
aa
Есть у Вас мысль как отследить почему в семёрке не срабатывает создание меню "по типу файлов" ???
Никак не могу понять почему в 10ке работает, а в 7ке не работает.
Операционки то ведь одинаковые ... Это ж не Win98SE ...
Или "забить" на это ?

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
90201а в 7ке не работает
Нельзя исключать что проблема на стороне Windows. Надо найти рабочую инструкцию или признать что на Win7 не работает.
Пришлось покурить мануалы по использованию их в командной строке и вообще по ихним командам запуска.
кроме того я сделал кавычки внутри кода, то есть путь указывать без кавычек. Возможно это неправильно, вдруг понадобиться добавить ключ типа "/f путь", тогда в кавычках должен быть только путь, но не f и вот тут нет гибкости. Но зато защита, если юзер не думает о кавычках и просто указал путь, то не сделав кавычки внутри этот путь распался бы на множество параметров по пробелам.
Перезалил на обе ссылки, обновив англоязычную версию.

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 11 месяцев
  • Сообщений: 331
  • Репутация:7

    [+] [-]
AZJIO,
кроме того я сделал кавычки внутри кода, то есть путь указывать без кавычек. Возможно это неправильно, вдруг понадобиться добавить ключ типа "/f путь", тогда в кавычках должен быть только путь, но не f и вот тут нет гибкости. Но зато защита, если юзер не думает о кавычках и просто указал путь, то не сделав кавычки внутри этот путь распался бы на множество параметров по пробелам.
Ну для меня ничего не изменилось поскольку оба моих редактора реестра изначально потребовали для корректной работы дополнительные ключи запуска.
И оба редактора лежали по пути с пробелами, так что я сразу их пути закавычил.
Конструкция у меня изначально получилась типа:
RegProg="путь до проги с пробелами" /ключ запуска
Поэтому ничего менять не пришлось

@@@@@@@@@@@@@

ab
Добавлено через 1 час 15 минут 13 секунд:
Есть исчо предложение по маленькому косметическому улучшению
В SubMenu видно только название добавленной программы.
Можно ли при подведении к этому названию сделать всплывающее меню с адресом программы ?
А то при большом количестве программ добавленных вручную (не из ини файла) начинаю путаться ...
Впрочем эта идея на Ваше усмотрение aa

@@@@@@@@@@@@@

Добавлено через 1 час 33 минуты 42 секунды:
Странно au
Регфайл выгруженный с десятки и натравленный на семёрку в результате дал в проводнике такое же меню, какое было в 10ке.
Для типов файлов... И работает оно в семёрке также как в десятке.
Так что сами по себе настройки меню однотипные в обеих операционках.
А вот SubMenu импортированные регфайлом настройки в режиме "Типы файлов" видит и позволяет их изменять, но по факту ничего не меняет...
Похоже усё таки что то не учтено в SubMenu
Но поскоку я нуль в PureBasic, найти в исходном коде я ничего не смогу. Сначала надо PureBasic изучить ... А я это уже год собираюсь сделать
ai

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
Возможно ассоциации не срабатывают, ProgID не получен. Надо в LiveCD семерки попробовать исправить функцию.
Подсказку в меню вряд ли, это же винда делает отображение меню. Если бы они сделали такой флаг в реестре, то я лишь могу обеспечить его включение.
Смогу только вечером посмотреть.

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 11 месяцев
  • Сообщений: 331
  • Репутация:7

    [+] [-]
Принесли мне ноут с x86 win7.
На нём ситуация повторяется - для типов файлов ничего не создаётся
Обнаружил исчо пару моментов:
1. вне зависимости от настроек пункта MenuName=Действия программа всё равно для всех файлов, папок, дисков и рабстола меню создает с пунктом Действия
Добавлено - обновил дрова и перегрузил ноут - создание пунктов начало работать штатно. То есть если меняю название пункта меню в ини, он в меню начинает создаваться с новым, уже моим именем.
2. Пункт удалить все меню не срабатывает, пишет удалено 0 и это соответствует реальности - в реестре усё остается на месте.
А вот пункт удалить меню (то есть в розницу) срабатывает прекрасно и меню удаляет.
После перезапуска ноута Пункт удалить все меню так и не работает ...
Так что этот момент стоит проверить

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
90217Пункт удалить все меню не срабатывает,
Так как я не могу определить в какие места прописаны, то я запрашиваю данные SubCommands и если они существуют, то удаляю. Проблема, если меню пустое, то такое меню не будет видно для алгоритма, а в одиночном удалении так как конкретно запрашивается тип, то удаление происходит без проверки наличия, а только проверка, что удалено успешно. Итак, проблема: пустое меню. В допустимых функциях по работе с реестром нет функции проверки существования параметра, наверно напишу свою.

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 11 месяцев
  • Сообщений: 331
  • Репутация:7

    [+] [-]
AZJIO,
в одиночном удалении так как конкретно запрашивается тип
под типом Вы понимаете "все файлы", диск, папка, рабстол ?
ДА, удаление всех меню пытался использовать тока тогда, когда имел какое-либо наполнение. Оно никогда не было пустым.
Пример из регфайла
"SubCommands"="u.FileSizesList_x64;u.ProcExp x64 en ;u.ProcExp x64;u.PotPlayerMini64"

Добавлено через 6 минут 6 секунд:
Вопрос - под удалением всех меню Вы понимаете удаление ВСЕХ меню, что созданы в разных местах (рабстол, папки, диски и т.д.) сразу и одновременно ?
Добавлено через 7 минут 59 секунд:
А может поступить проще - при создании меню где нибудь это фиксировать в логе.
А затем, считав этот протокол, удалить тока созданное программой ?

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 3777
  • Репутация:27

    [+] [-]
  • Откуда: BG
AZJIO, приветствую.
Я пока пользую программу ECMenu. Хорошо придумана и сделана, но есть один большой недостаток - невозможно автоматически приложить выбор. Надо открыть программу, выбрать и потом кнопкой приложить. Я даже писал на офсайт, но ничего не ответили. Вот хотел спросить возможно ли сделать такое автоматическое приложение заранее выбраного набора программ в SubMenu Windows 7-10? aa

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 11 месяцев
  • Сообщений: 331
  • Репутация:7

    [+] [-]
Ну можно исчо проще:
Не искать содержимое "SubCommands"="u. а сразу удалять из четырёх мест (папки, все файлы, диски, рабстол)
куст реестра, содержащий "SubCommands" (Возможно добавив проверку на присутствие в этих ветках чего-то с ="u.)
Например: подлежат удалению
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\OpenActions
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\OpenActions
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell\OpenActions

Остаётся открытым вопрос с типами файлов. но там можно взять конечное количество расширений (которые представлены в ини) и провести с ними удаление аналогично ...
Получится чисто механическое действие, не требующее сложных вычислений и поиска параметров ...
Кстати, обнаружил тока что, что куст для рабочего стола
HKEY_CLASSES_ROOT\Directory\Background\shell\OpenActions
в Экспорт по кнопке не попадает ... хотя добавляется и удаляется в розницу отлично
Проверьте пожалуйста


Последний раз редактировалось: rekshd (2021-12-02 20:25), всего редактировалось 1 раз

[Цитировать]

    loban_ser
  • 17796
  • Стаж: 6 лет 9 месяцев
  • Сообщений: 577
  • Репутация:24

    [+] [-]
AZJIO, можно реализовать как например в PsMgr конфиге BackFile=%ProgramData%\PsMgr.bck
какие значения вносились в реестр

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 11 месяцев
  • Сообщений: 331
  • Репутация:7

    [+] [-]
dimo70,
Я пока пользую программу ECMenu. Хорошо придумана и сделана, но есть один большой недостаток - невозможно автоматически приложить выбор
Сам пользуюсь этой программой с момента её появления у содрума (правда крайние версии ECMenu очень уж стали замудрёны в настройке)
Но вот как раз отсутствие автоматического срабатывания при запуске я считаю плюсом ECMenu, а не минусом.
Сначала настроить, перепроверить, а уж потом применять af
Я и AZJIO хотел предложить применение настроек SubMenu Windows 7-10 вынести на клавшу Применить и убрать с автомата.
Впрочем, для меня это непринципиально и несущественно. Как решит AZJIO пусть так и будет
Добавлено через 10 минут 38 секунд:
Вот хотел спросить возможно ли сделать такое автоматическое приложение заранее выбраного набора программ в SubMenu Windows 7-10?
Дак это ж и реализуется через клавишу Экспорт
Если есть выгруженный файл реестра, созданный программой, то сама программа и не нужна более.
Можно удалить. От слова совсем.
Лишь бы были на своих местах проги, для которых SubMenu Windows 7-10 сделала менюшки.
Нажал на файл реестра и усё az
PS По моему аналогично и ECMenu работает

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
rekshd, на яндексе скачай, проверь файл "запрос ProgID.exe", при вводе расширения например txt выдаст сообщение txtfile, то есть должен что-то выдавать, а конкретно я его всегда называл класс программы, винда называет это ProgID. Расширение связано с ProgID, а ProgID связан с путём, то есть если в реестре зайти в раздел txtfile, то там будет команда, это и есть ассоциация. Если теперь возвращает значение txtfile, то и суубменю будет работать.
Алгоритм ручного поиска ProgID: зайти в раздел HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\ далее в расширение файла например .txt, далее в UserChoice (выбор пользователя), считываем ProgId. Если его нет, то там же открываем OpenWithProgids и ищем первый попавшийся. Если опять мимо, то открываем OpenWithList (список открыть с помощью), тут первым выбором стоит лучший вариант, поэтому считываем данные MRUList и берём первую букву, теперь считываем данные в этом же разделе с этой буквой. Хотя последнее это же не ProgId.


Последний раз редактировалось: AZJIO (2021-12-02 21:09), всего редактировалось 1 раз

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 11 месяцев
  • Сообщений: 331
  • Репутация:7

    [+] [-]
C txt по типам файлов крайняя версия начала работать.
"запрос ProgID" по txt выдал -{txtfile}-
А вот с =текст не пашет. и с ini не пашет.
Наверно из-за того, что
"запрос ProgID" по ini выдал -{AkelPad.exe}- ai
Откуда акелпад взялся ...

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
90225"запрос ProgID" по ini выдал -{AkelPad.exe}-
я в предыдущем посте написал :Хотя последнее это же не ProgId. Надо подумать... если у тебя дошло до AkelPad.exe, то значит предыдущие ходы не сработали и даже если удалить последнее то в итоге получим пустую строку в качестве ProgId.

Страница 5 из 12


Показать сообщения:    

Текущее время: 22-Ноя 23:18

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы