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

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

    [+] [-]
А утилита то прославилась !
Случайно сейчас взглянул на Process Explorer - показывает, что она не понравилась Microsoft-скому дефендеру
Пугает население шарика ужасником про русских хакеров
ag This threat can perform a number of actions of a malicious hacker's choice on your PC af
Во как ax ax ax
Добавлено через 32 минуты 45 секунд:
флажки ставятся для пункта меню "Действия", почему они должны сниматься? Они не ставятся для программ в меню "Действия". Причём ставятся если меню "Действия" ещё не существует.
Вкурил ai Я то думал они создают разделители в самом контекстном меню, группирую ярлычки.
Тогда думаю нужно:
1. Если есть такая возможность сделать эти пункты прямым действием - есть галочка - есть разделитель, нет галочки - разделитель сразу пропадает
2. Где-то явно указать, что это разделители для самого названия меню, а не для его пунктов.
Может вообще проще сделать - убрать это в ini и сделать там эти два параметра со значениями 0 и 1
Кому нужно выставит в ини так как ему надо

По поводу ини
3. Будет лучше если под пунктами в инишке сразу будут комментарии. Чтоб не путаться.
Как это, например, сделано в ini программы JPEGView.
Кстати, шикарная гляделка графики - уже лет семь на ней сижу и менять ни на что не собираюсь.
Программа влезает на дискету 1.44 !!!
Да, заметил следующее:
Если для программы меню зарегистрировать на тип jpg и, затем, зарегистрировать их же на =фото
(фото=jpg,bmp,tiff - это я уже сам добавил в ини), то меню прекрасно появляется и работает.
Но вот если затем "удалить пункты из меню" для этого списка программ для тока jpg или для тока =фото
то стирается вся запись SubCommands в профильной ветке (у меня это JPEGView)
В результате и пункты меню для картинок пропадают.
А Может вообще разделить применение для отдельных видов файлов и для шаблонов.
То есть либо пользователь регистрирует отдельные расширения поштучно (это сделать по умолчанию),
либо регистрирует по шаблону (для тех, кто понимает в ини, ведь шаблоны усё равно правится в ини).
Чтоб не было путаницы и усложнения программы. тогда будет достаточно одно параметра в ини ...
Добавлено через 2 минуты 26 секунд:
Запись про рабстол стала прекрасно экспортироваться
Добавлено через 10 минут 49 секунд:
Исчо заметил про регистрацию пунктов меню для "Типы файлов" следующее
Сейчас если я регистрирую пункты меню для расширения, например, jpg , то ...
Оно по факту регистрируется для всех графических расширений !!! Удобно конечно, но не совсем логично ai
В моём случае меню появляется для png,tiff,bmp и т.д.
Потому что регистрация меню происходит на ту программу, которая у меня ассоциирована с jpg.
В моём случае - JPEGView - Вот скрин регистрацииИ, поскольку по факту меню создано не для типа файла jpg, а для ассоциированной с этим типом файлов программы - для JPEGView,
то оно появляется для всех ассоциированных с программой файлов. В том числе и самых экзотических.
В принципе - удобно

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

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1284
  • Репутация:126

    [+] [-]
90280А Может вообще разделить применение для отдельных видов файлов и для шаблонов.
1. Так это от пользователя зависит, только он выбирает что добавлять.
2. Не важно как введено, шаблоном или расширением, но данные в реестре не знают о том как они были введены, это никак нигде не фиксируется. А если это так, то с чего бы менялось поведение удаления?
Если нужен конфиг, чтобы был выбор, то вот, из моей проги ContMenuFiles.
текст=txt,log,ion,cfg,conf,inc,lst,shl,sif,ini,php,css,inf
музыка=mp3,wav,wma,ogg,m3u,pls,ac3
видео=avi,mpg,mpeg,mp4,asx,asf,wmv,3gp,mov,mkv,ifo,vob,flv,bik,swf
рисунки=bmp,gif,jpg,png,tga,tif,psd,xpm,dds
ресурсы=dll,ocx,res,cpl,ax,exe,scr,apl
скрипт=au3,bat,cmd,reg,vbs,js
образ=iso,mdf,img,mds,md0,md1,md2,md3,md4,ima
веб=htm,html,mht,url,chm,xml,hta,hhc,hhk,hhp
докум=doc,docx,rtf,xls,xlsx,pps,ppt,pdf
архив=rar,zip,7z,cab,gz,ace,arj,bzip2,bz,bz2,cpio,deb,dmg,gzip,hfs,jar,lha,lzh,lzma,rpm,split,swm,tar,taz,tbz,tbz2,tgz,tpz,uu,uue,xxe,z,wim,xar
миди=kar,mid,rmi,mmf
другие=bin,nfo,diz,gho,ghs,torrent,fb2,djvu,md5,s0m,bak
исходник=c,cpp,h,inc,rc,py,asm,dev,pb
90280Оно по факту регистрируется для всех графических расширений !
Это понятно, если я все текстовые файлы привязываю к txtfile в котором указываю прогу Notepad++, то по факту мне достаточно прописать расширение только для txt, что пропишет меню в txtfile и оно будет у всех файлов. Тут кстати можно сделать оптимизацию, если ProgID повторяется, то пропустить шаг цикла, иначе ничего страшного 6 раз запишет одну и туже информацию в одно и тоже место.
Но я разделяю классы (ProgID), так как у тебя для всех файлов будут одинаковые иконки, а как работать если ты визуал и у тебя все файлы на одно лицо?

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

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

    [+] [-]
Алгоритм вкурил aa Согласен. Правильно.
Да, сейчас у меня для папок, рабстола, дисков и для "всех файлов" меню удаляются через "Удалить все меню"
(пишет и наличии этих меню при нажатии "Инфо о меню в реестре")
А вот про меню для типов файлов - молчок.
Хотя меню есть. Ветка реестра есть и открывается из "Открыть меню в реестре" и ввода jpg
[HKEY_CLASSES_ROOT\Applications\JPEGView.exe\shell\open\command]
@="\"D:\\Portable\\JPEGView\\JPEGView.exe\" \"%1\""
[HKEY_CLASSES_ROOT\Applications\JPEGView.exe\shell\OpenActions]
"MUIVerb"="111111111111111111111111111111"
"SubCommands"="u.AnyDesk;u.BreezeBrowserPro;u.DeskTopVp6;u.FSViewer;u.getsmile;u.JPEGView;u.Photomatix;u.Photoshop;u.SNS-HDR;u.Viber;u.VpLaunch;u.WhatsApp"
"Icon"="E:\\!!\\SubMenu by AZJIO\\ico.ico"
"SeparatorBefore"=dword:00000000
"SeparatorAfter"=dword:00000000
Но в экспорте про это не слова и "Инфо о меню в реестре" пустое
И не удаляется из "Удалить все меню" по факту ...
Тока розничное удаление через "Удалить меню"

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

Добавлено через 25 минут 33 секунды:
AZJIO
Чтобы "Действия" были в разделителях?
...
У меня несколько прог и каждая добавила разделитель и выглядит это как куча разделителей, каждый разделитель не отличает одну прогу от другой, нет никакой группировки.
Проверил, если добавить в реестр параметры SeparatorBefore и SeparatorAfter, то появляются соответствующие разделитель над и под пунктом "Действие"
Надо было мне внимательней вчитаться в то, что Вы пишете.
Впрочем получилось для головного меню просто отлично. Для пункта, который называется "Действие".
Обязательно оставьте эту фишку (тока желательно перенести эту настройку в ini )
Но, видать, у меня очень корявый язык. Поскоку наполовину прибалт ai
Я то писал про разделители, которые между конкретными ярлыками программ в самом создаваемом меню,
то есть идея была сгруппировать их, разделив черточкой. Да, там работают другие коды
"CommandFlags"=dword:00000020 и "CommandFlags"=dword:00000040 ... как описано у Стеркина ...
Могу уточнить синтаксис этих разделителей ...
Пример я приводил на стр.3 этого топика

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

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1284
  • Репутация:126

    [+] [-]
90285как описано у Стеркина
проблема, если эти разделители воткнуть в реестр то у этого пункта будет разделитель вне зависимости от того где этот пункт расположен. Это слишком ручной подход. Если в другом меню не для jpg а для ico набор прог слегка иной надо контролировать чтобы та прога, у которой есть разделитель была последней. В вашем случае пункты все в "*" и там это имеет значение, а для другого человека и скорее для большинства этот разделитель случайно добавленный для эксперимента будет потом во всех меню вставлять не к месту разделитель. Проще в справке описать как его вставить: открыть реестр где список всех прог и вставить там, кстати можно SeparatorBefore и SeparatorAfter проверить там же. Экспортировал и в рег-файле продублировал эти строчки разделители и импортировал обратно. В общем это ручная работа.
Есть ещё идеи, когда-то я для проги ButtonBar сделал настолько юзабельным что просто кидай прогу в окно и она подхватывает её и даже ярлык подхватывает, вытаскивая из него путь. Я тут попытался добавить проги и было муторно, из ярлыков через свойства копировал пути к папкам, чтобы перейти в неё и там выбирать exe. Вот это можно автоматизировать.
90285Я то писал про разделители, которые между конкретными ярлыками программ в самом создаваемом меню,
А я так и подумал и ответил, что формат SubCommands не подразумевает вставку разделителя, но потом стёр, так как не понятно было для какого случая разделитель. А вставку разделителя список программ, это неудачный вариант, он будет неконтролируемым.
JPEGView
остаюсь пока на "FastStone Image Viewer", прокручивает колесом, рисунок на весь экран, всплывающие панели, верхняя с полосой превьюшек, переход в неполноэкранный режим с переключением компоновки окна, инструментов полно, я в ней и печатал и переворачивал картинки и удалял Exif.

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

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

    [+] [-]
90287Я тут попытался добавить проги и было муторно, из ярлыков через свойства копировал пути к папкам, чтобы перейти в неё и там выбирать exe. Вот это можно автоматизировать.
Ну я сделал проще - через Listary/ Там у меня хоткей подхватывает путьи выделенных файлов
А можно исчо проще - F12 в тотале - берёт копирует в буфер полный путь к выделенным объектам ...
Добавлено через 4 минуты 57 секунд:
проги ButtonBar
А можно взглянуть, интересно же ...
А вставку разделителя список программ, это неудачный вариант, он будет неконтролируемым
Ну Да, сейчас занимался ручным творчеством с "CommandFlags"=dword:00000020 и "CommandFlags"=dword:00000040 и вот что получилось...
Раз уж сделал скрины, то опубликую.
До bb После
Вручную в принципе быстро делается, если помнить правила синтаксиса.
Но вот как формализовать это для программы Я пока не представляю ...
Так что продолжу ручками ar
Добавлено через 5 минут 21 секунда:
FastStone Image Viewer у меня на втором месте. А JPEGView для идеальной требует затачивать под себя евоные ини файлы. тогда программа вообще блеск. Но, к слову, рисовать не умеет - стрелочки на скринах выше сделал в фарстоуне, нажатием одной кнопки перебросив изображение из штатного JPEGView в FastStone Image Viewer
Добавлено через 4 минуты 7 секунд:
удалял Exif
Советую программу моего бывшего земляка Total Exif Annihilator
Бесплатна, надежна, моментальна ...

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

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1284
  • Репутация:126

    [+] [-]
rekshd, пробуй новую версию (скачай с яндекса), кидай в окно программы пачками ярлыки и exe-файлы.
90288А можно взглянуть, интересно же ...
оглашаю весь список на главной старнице и конкретно ButtonBar
Немного муторный вариант сортировки программ: задать имена разделов в реестре типа u.1Aimp или u.aAimp. Префикс "a" определяет сортировку, можно из двух букв. То есть экспортируем в reg-файл, группируем программы медиа-проги, текстовые, и внутри групп сортируем, потом выставляем префиксы так что при импорте в реестр порядок их сохранится и соответственно в прогу "SubMenuWin7_10" список будет загружен в том же порядке. Тогда их легче выделять группами и импортироваться в меню они будут в том же порядке. А реальные имена указываются в реестре отдельно и будут корректные без префиксов.

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

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

    [+] [-]
AZJIO, Перетягивалка работает на 100% Я спать ...
Остальное буду вкуривать после сна ...

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

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

    [+] [-]
Немного муторный вариант сортировки программ: задать имена разделов в реестре типа u.1Aimp или u.aAimp. Префикс "a" определяет сортировку, можно из двух букв. То есть экспортируем в reg-файл, группируем программы медиа-проги, текстовые, и внутри групп сортируем, потом выставляем префиксы так что при импорте в реестр порядок их сохранится и соответственно в прогу "SubMenuWin7_10" список будет загружен в том же порядке. Тогда их легче выделять группами и импортироваться в меню они будут в том же порядке. А реальные имена указываются в реестре отдельно и будут корректные без префиксов.
Такую операцию проще далать каждому вручную... Под себя любимого ...
Короче, всё упирается в фиксацию порядка программ в списке SubMenu Windows 7-10 путём присвоения каждой программе уникального префикса.
Изменился порядок - например, перетянули мышкой выделенную программу вверх или вниз - SubMenu Windows 7-10 придётся сразу переприсвоить префиксы по новой.
В идеале SubMenu Windows 7-10 должна сама на автомате присваивать эти порядковые коды-префиксы в зависимости от положения конкретной программы в списке.
Геморойно ли это реализовать ?

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

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1284
  • Репутация:126

    [+] [-]
rekshd, можно попробовать номер прописать в реестр в раздел проги, типа id=1. А программой при запуске читать эти номера перемещать пункты в свои позиции. В ini добавить флаг "помнить порядок", order=1.

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

    dimo70
  • 17296
  • Стаж: 6 лет 4 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
AZJIO, приветствую,
извините что сдесь задаю вопрос, знаю что не совсем в теме.
Я по поводу вашей разработки ButtonBar хотел спросить. Бутон бар может работать и открывать приложение через LAN сеть? Т.е. если скажем что установил на сервер папку с тулами и сделал бар, смогу открыть его и пользоваться утилит от другого компьютера через LAN? aa

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

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

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

    [+] [-]
90300rekshd, можно попробовать номер прописать в реестр в раздел проги, типа id=1. А программой при запуске читать эти номера перемещать пункты в свои позиции. В ini добавить флаг "помнить порядок", order=1.
Может будет лучше, если порядок (при условии, что он включен) будет записываться в отдельный файл order.ini ?
Да, нововведения (иконка и своё название меню) ведь тоже хранятся тока пока сеанс программы включен.
После перезапуска программы она включается с дефолтными настройками, которые в ини
MenuName = Действия
SubMenuIcon = C:\Windows\System32\SubMenuWin7_10.ico
А уже созданное программой меню остаётся с изменёнными настройками
(поскольку изменения остаются только в реестре для уже созданного меню)
Может есть смысл изменения этих двух параметров - новые названия меню и местоположение иконки - также записывать в ини ?
Вы не смотрели, почему для типов файлов удаление всех меню не срабатывает ?

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

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1284
  • Репутация:126

    [+] [-]
90311[HKEY_CLASSES_ROOT\Applications\JPEGView.exe\shell\OpenActions]
90311для типов файлов удаление всех меню не срабатывает
почему регистрация в двойном пути Applications\JPEGView.exe?
Например при регистрации txt файла
HKEY_CLASSES_ROOT\txtfile\shell\... - между корнем HKEY_CLASSES_ROOT и shell одно слово txtfile, а не два, то есть не Applications\txtfile.
dimo70, не понял... если через TeamViewer видя этот ButtonBar, то почему нет?
rekshd, обновил на яндексе, добавил в инфу и удаление все меню обработку пути "Applications\", проверил выводит и удаляет. Что интересно в меня тоже залез этот путь в SumatraPDF.exe (HKEY_CLASSES_ROOT\Applications\SumatraPDF.exe\shell\OpenActions), винда как то сама туда засунула. Только не понятно связь, разве отсюда покажет меню?

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

    dimo70
  • 17296
  • Стаж: 6 лет 4 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
AZJIO, не через тиймвюер. Например так: я сижу на клиентский компьютер связанный с моим рутером. Открываю шеред драйв D: на сервер \\W
Jd; там в папку сделал комплект тулов с бутонбар. Могу ли я напрямую стартовать бутон бар через клиентский ноутбук и будет ли он работать нормально через сеть?
Например SDI может работать через сеть.

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

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

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1284
  • Репутация:126

    [+] [-]
dimo70
Чтобы он у тебя запустился, а запускал проги на сервере? Проще проверить, я всё равно не понимаю эти зависимости, если он прогу у тебя запустил, то почему он будет другие на сервере запускать.
rekshd, ещё момент, посмотри в рег-файлах экспортированныех есть ли у тебя после Classes отсутствие "\" или двойной "\\". Я там ранее на косячил и заметил появление в реестре лишнего. И посмотри есть ли после раздела HKEY_LOCAL_MACHINE\SOFTWARE\Classes например HKEY_LOCAL_MACHINE\SOFTWARE\ClassesJPEGView в общем сразу до или сразу после раздела. У меня это возникло при экспорте и видимо я импортировал неисправные данные.


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

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

    dimo70
  • 17296
  • Стаж: 6 лет 4 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
AZJIO, я завтра проверю на сервис и отпишусь. aa

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

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


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

Текущее время: 25-Апр 23:02

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


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