Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
В свое время пользовался небольшой утилитой FileNote:
Quote
FileNote - добавляет пункт к контекстному меню, который позволяет создать текстовый файл с тем же именем, что и тот, который у Вас выделен. После этого автоматически открывает этот файл в Notepad для редактирования. Может оказаться удобным для того, чтобы не забыть зачем Вы скачивали тот или иной файл...
Решил попробовать реализовать что-то похожее средствами NB.
При запуске утилиты из проводника открывается диалоговое окно "Настройки", где можно добавить пункт "Комментарий" в контекстное меню файла/папки.
При запуске утилиты из контекстного меню проводника открывается окно создания комментария.
В проекте используется: - функция DEMBEL: "RegDel 1.1" (Функция для удаления разделов и ключей реестра)" - плагин Peter: "zmFunctions" Буду признателен за критику .
Чего-то у меня нифига не работает правильно... Пункт меню добавляется, но вот при нажатии на него окошка для комментария появляется на полсекунды, и пропадает, но файл комментария (пустой) рядом создается.
Добавлено (22 Май 2011, 20:47) --------------------------------------------- А вот сейчас вроде заработало - скрытый режим отключил.
И ещё... Почему бы сразу не задать размеры окна настроек? Ведь видно как "мелькает" размер.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
вроде работает только иконка не подцепилась к пункту контекстного меню
и после отмены возможности пункт контекстного меню не пропадает, но вместо "комментария ' имя файла вставляется. чтото не все удаляется, нужно проверить.
только иконка не подцепилась к пункту контекстного меню
У меня тоже.
Quote (DEMBEL)
и после отмены возможности пункт контекстного меню не пропадает
У меня пропадает.
Добавлено (22 Май 2011, 20:55) --------------------------------------------- Да, после перехода к окну настроек из окна комментария (по кнопке "настройки"), после изменения настроек, логичнее обратно вернуться к окну внесения комментария, а не закрывать прогу.
Добавлено (22 Май 2011, 20:58) --------------------------------------------- Тему перенес в раздел "Готовые проекты", т.к. тут ей более подходящее место нежели чем в "вопросах и ответах"
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
ну понятно, у меня тоже 2 гига габросков(тем не менее пользуюсь ими частенько) просто не вттом разделе, ну да ладно, как админы решат... У меня тут кофликт идет Тоже есть аналогичная, т.к. очень спасает, когда качаешь много дрофф, а у них имена зачастую цыффрами и чтоб на завтра знать "фамилию" каждого архива написал подобную прожку и в меню забил пункт "коментарий". В принципе не страшно у кого нет такого пункта, а у себя уже переименовал, но есть предложение переименовать так: FileNote: Коментарий ну или чтото того. Вдруг будут одинаковые
Добавлено (22 Май 2011, 21:38) ---------------------------------------------
у меня тоже 2 гига набросков (тем не менее пользуюсь ими частенько)
Ну вот, а мы переживаем, что готовых проектов мало
Quote (Necronomicon)
Решил попробовать реализовать что-то похожее средствами NB.
Клевая задумка! Полезная! Спасибо за интересный пример!
Necronomicon, мне кажется было бы замечательно в описание утилиты добавить (в обучающих целях) - работу с чем демонстрирует этот готовый проект, какие ключи реестра за что отвечающие задействованы (дать им краткое описание).
Предложения по функционалу:
- мне кажется не стоит держать окно программы обязательно поверх всех (уже несколько раз пытался заглянуть под него, чтобы проверить некоторые вещи, а оно не уходит на задний план... Это не совсем удобно. Либо, может быть, сделать это свойство программы настройкой по выбору).
- обработать вариант, когда выбран файл того же расширения, которое выбрано для создаваемого файла комментария (в настоящее время прога втихую просто заменяет файл на новый, таким образом вместо комментария к файлу мы получаем комментарий вместо файла...). Например, добавить условие - если имя и расширение создаваемого файла комментария совпадают с именем/расширением исходного файла, то предлагать переименование. Кстати, в настройках можно сразу задать реагирование на такую ситуацию, например, автоматически добавлять заранее настроенный префикс к имени файла для таких случаев.
- добавить горячее сочетание "Ctrl+S" для кнопки ОК (чтобы не зависеть от мышки).
- добавить в настройки галочку "включать исходное расширение в имя файла комментария" (например, 123.docx получит коммент 123.docx.txt, а 123.pdf получит коммент 123.pdf.txt) - это для того, чтобы знать к какому файлу был сделан комментарий, если они с разными расширениями, но одинаковыми именами, что не редкость.
- добавить в настройки галочку "добавлять префикс к имени файла комментария для папки" и соответствующее поле для ввода своего префикса (например, папка "Загрузки", могла бы получить файл комментария с именем "(папка) Загрузки.txt").
- добавить вкладку в окно ввода комментария, в которой можно было бы заполнить для файла (но для исходного файла, а не файла комментария) следующие данные:
- если "пьянка" удастся, то можно поизголяться и добавить еще третью вкладку - "Атрибуты" (плагин zmFunction умеет - скрытый, только для чтения и пр.). Может пригодиться.
Предложения по интерфейсу:
- окно для ввода комментария сделать втрое меньше (ведь обычно комментарий очень мал), но сделать растягиваемым (как раз на случай большого).
- убрать лишнее место под кнопками в окне ввода комментария.
Наблюдения:
- почему-то файл .docx по команде "Комментарий" контекстного меню (в первые пару раз) попытался открыться - винда выдала окно выбора программы для открытия. Но эта фишка была при открытом тестовом проекте и с тех пор больше не повторялась... Не знаю с чем это связано, просто наблюдение. Может файерволл у меня там что-то притормозил на время...
- место комментария было мною определено "в середину списка КМ", после изменения на "в начало списка КМ" положение команды в контекстном меню не изменилось, тоже с заменой на "в конец списка КМ" (если положение команды должно измениться после перезагрузки, то должно появиться окно алертбокс с сообщением, мол настройки будут применены после перезагрузки...). Я еще не перезагружался, не проверял.
Правда, здесь нужно оговорится - иконка не "цепляется" в Win XP. Может быть кто подскажет, где прописываются иконки к пунктам контекстного меню в XP, у меня под рукой сейчас нет ноута с XPюшей.
Quote (DEMBEL)
и после отмены возможности пункт контекстного меню не пропадает, но вместо "комментария ' имя файла вставляется. чтото не все удаляется, нужно проверить.
Да, после перехода к окну настроек из окна комментария (по кнопке "настройки"), после изменения настроек, логичнее обратно вернуться к окну внесения комментария, а не закрывать прогу.
Согласен. Так и сделано. При переходе к настройкам из окна комментария (прога запущена из контекстного меню файла/папки), после изменения настроек и нажатия кнопок "OK" или "Отмена" происходит возврат к окну комментария. Если-же программа запущена из проводника, открывается окно настроек, после чего по кнопкам "Ок" или "Отмена" программа закрывается. На мой взгляд, логично. или я не правильно понял предложение?
Quote (Peter)
Тему перенес в раздел "Готовые проекты"
Ок. Будет первый "блин"
Quote (Сергей)
есть предложение переименовать так
Ок. Нужно будет придумать что-то свое, или дать возможность пользователю самому включать фантазию в окне настроек
Quote (Вадим)
место комментария было мною определено "в середину списка КМ", после изменения на "в начало списка КМ" положение команды в контекстном меню не изменилось
Да. Здесь "поле не паханное". Есть куда развивать. Спасибо P.S. Хотел спросить, есть-ли возможность менять иконку в заголовке окна приложения? Допустим, чтобы в окне настроек было не "перо", а, например, "шестеренка".
Добавлено (24 Май 2011, 17:03) ---------------------------------------------
Quote (Necronomicon)
Может быть кто подскажет, где прописываются иконки к пунктам контекстного меню в XP
Покопал на форумах. Насколько я понял, в XP значки для пункта контекстного меню сделать не так просто (в сравнении с Win7). Для меня это темный лес. М.б. гуру NB прольют свет на эту задачу?
Сообщение отредактировано Necronomicon - Пн, 23 Мая 2011, 18:37
в XP значки для пункта контекстного меню сделать не так просто
Да, тоже любопытно было бы узнать...
Созрело еще одно рацпредложение: При открытии окна ввода комментария программно делать проверку на опцию "раскладка по умолчанию". Соответственно в настройки добавить оную опцию. К примеру, если я выставил в настройках галочку "Раскладка по умолчанию - русская", то если в системе в момент создания файла комментария выставлена латиница, то раскладка принудительно изменится на русскую (в плаге Петра zmFunction есть команды для определения раскладки и изменения ее на желаемую).
Архив перезалил. Изменения: - Программа при создании комментария делает проверку на "совпадение имени". Если имя совпадает, можно сделать копию. - Добавлена опция "раскладка клавиатуры".
Сообщение отредактировано Necronomicon - Ср, 25 Мая 2011, 21:35
Добавлено (25 Май 2011, 23:22) ---------------------------------------------
Quote (Necronomicon)
- Добавлена опция "раскладка клавиатуры".
Очень удобно!
Quote (Necronomicon)
Если имя совпадает, можно сделать копию.
Мне кажется слово "копия" (в частности, на кнопке) здесь не совсем подходит, ведь если создается новый файл, с совсем новым содержанием, то это не копия.
Может быть вместо "(копия)" к имени файла добавлять цифру? И тогда на кнопке можно указать - "добавить номер" или просто "+ n".
Отдельной кнопкой можно сделать "Назвать" (чтобы у пользователя была возможность задать имя произвольно, раз уж есть одноименный файл, а нужен другой или еще один. При этом по умолчанию в строке имени файла отображать уже имя дубликата, чтобы можно было к нему добавить нужный префикс или постфикс) Дать пользователю выбрать или ввести имя, вызвав стандартный диалог выбора имени файла - команда FileOpenBox.
Для папки куда-то делось "в начало списка"... Кстати, так и не получается изменить положение строки "Комментарий" в контекстном меню. Наверное надо сначала удалить старые записи, прежде чем пытаться создавать новые? Тут я гадаю, не знаю как на самом деле.
Добавлено (29 Января 2012, 02:07) --------------------------------------------- Андрей, спасибо за утилиту! С большим удовольствием пользуюсь ею, довольно часто - когда проверяю контрольные и курсовые работы по системе дистанционного образования. Там нужно к каждому файлу (контрольной или курсовой работы) сделать файл с замечаниями. Программа нужная и хороший пример возможностей NeoBook. Предлагаю доработать ее.
Созрели следующие предложения (с некоторыми повторениями) в порядке значимости, начиная с самых значимых:
1) Сделать окно приложения растягиваемым (сейчас, например, не видно достаточно длинных названий файлов в заголовке окна).
2) Сделать поле "префикс" (то, что будет добавляться к началу названия файла).
3) Сделать поле "постфикс" (то, что будет добавляться к концу названия файла). При этом нужна возможность назначать в эти поля переменные "дата" и "время", чтобы можно было их использовать вместе или раздельно. Например, в поле префикс я бы ввел "Замечания_", а в поле постфикс "_[дата]" и сформировав название файла из названия текущего файла (Иванова А.А._курс.р._История психологии_4сем.docx) получил бы, автоматом, такое название файла: Замечания_Иванова А.А._курс.р._История психологии_4сем_29.01.12-13.00.txt
4) Сделать поле ввода текста в котором отображать полный путь и название текущего создаваемого файла комментария. Содержимое этого поля должно автоматом меняться если настраиваются префикс и постфикс (они должны сразу добавляться). Смысл не только в том, чтобы видеть что получается, а в том, чтобы можно было прямо в этом же поле подредактировать название файла и/или путь его сохранения. При этом считать изменения произведенные в этом поле приоритетными, т.е. если вручную внесено изменение, допустим в префикс, то это изменение для данного файла сохраняется. Для этого достаточно просто из этого поля ввода брать инфу в качестве пути для сохранения файла, по нажатию ОК.
5) Добавить горячее сочетание "Ctrl+S" для кнопки ОК (чтобы не зависеть от мышки).
6) Сделать интерфейс программы более красивым. Я сам не спец в этом деле, но прога хорошая, полезная и заслуживает приятный фейс.
7) Добавить в настройки галочку "включать исходное расширение в имя файла комментария" (например, 123.docx получит коммент 123.docx.txt, а 123.pdf получит коммент 123.pdf.txt) - это для того, чтобы знать к какому файлу был сделан комментарий, если они с разными расширениями, но одинаковыми именами, что не редкость.
8) Раз уж есть расширение .nfo, то при выборе этого расширения было бы уместно добавлять и секции в файл, которые определены этим форматом. Я с этим форматом не работал, но если выбирать такое расширение, то было бы логично использовать его по назначению. Либо можно просто убрать эту галку совсем - какой смысл в таком расширении, если это тот же txt, только иконка у файла другая, но, получается, что некорректная...
Хочу релиз!
Quote (Necronomicon)
Насколько я понял, в XP значки для пункта контекстного меню сделать не так просто (в сравнении с Win7). Для меня это темный лес.
Пётр, можно ли в zmFunctions добавить такую фишку, чтобы работало в хрюше? "Создать пункт контекстного меню файла/папки", "Присвоить иконку пункту контекстного меню файла/папки".
Создать пункт контекстного меню файла/папки можно посредством реестра, но иконку в Win XP прикрутить не получится. Нет такой возможности и ключа, чтобы указав путь к файлу иконки, она тут же отобразилась в КМ объекта. Интеграция иконки в КМ делается через dll библиотеку, которая регистрируется в системе. Др.словами, если необходимо добавить в КМ пункт своей программы для этого отдельно пишется dll. Кое-что нашел на эту тему Хотя, может быть есть другой выход, подождем ответа Peter'a
Сообщение отредактировано Necronomicon - Пн, 30 Января 2012, 21:03
Интеграция иконки в КМ делается через dll библиотеку, которая регистрируется в системе.
Гм... Никогда не вдавался в этот вопрос.
Quote (Necronomicon)
Др.словами, если необходимо добавить в КМ пункт своей программы для этого отдельно пишется dll.
Если дело обстоит именно так, то тогда дело труба.
Для своей собственной проги (в Delphi) сварганить библиотеку не сложно, но в NB... Тут никакие плагины не помогут, т.к. компилятор нужен, а бесплатные они все, как и положено им, с глюками.
Странно, но мне всегда казалось, что эти значки беруться из ресурсов самой программы, а не дополнительной Dll. Хотя можно и из Dll... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Интеграция иконки в контекстное меню делается через dll...
Тогда дело "швах"...
А вообще, какая разница откуда брать значок?... Чето тут не то....
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Остается только одно - использовать дополнительный софт
Нет, ну в принципе не все так грустно: ведь имеются же редакторы ресурсов...
Видимо можно просто менять иконку(и) в DLL. Тогда достаточно один раз сделать DLL-болванку... Теоретически...
Правда, все остальное - сплошной геморр...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Да, похоже, что просто ресурсная DLL (с иконками) и ничего более. А вот как менять (а не смотреть) иконки в готовой DLL пока не знаю... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Просто размышление вслух... Может быть dll регистрируется в системе, а каждой иконке из dll присваивается свой GUID (статистически уникальный 128-битный идентификатор). В реестре ссылка на иконку осуществляется по GUID - типа {B41DB860-8EE4-11D2-9906-E49FADC173CA}
надо заменить собственно двоичный код рисунка самой иконки на другой кусок бинара
Это понятно, но вот надо, чтобы при этом и другие иконки не пострадали. Вот потому и глючат всевозможные говносборки хрюши, что разные умники лезут в системные Dll-ки и меняют значки (и т.д.) как им вздумается.
А одну единственную иконку заменить большого ума не надо.
Но, все это, пол-дела (если не меньше), т.к. тут ещё Реестр, и проч.
И все - ради значка в меню, блин...
Добавлено (31 Января 2012, 23:09) --------------------------------------------- Ха, сейчас вообще появилась мысль (чего-то торможу я сегодня сильно): сделать одну простенькую Dll-ку, в ней менять иконку редактором ресурсов, а потом закидывать Dll-ку куда требуется (вместе со своей прогой) и делать записи в Реестре, и проч.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
hpwUtility (hpwGetGUID) умеет делать такие идентификаторы
Quote (DEMBEL)
ну так для контекстн. меню токо такие
Так тогда может попробовать покавырять вариант:
Quote (Peter)
сделать одну простенькую Dll-ку, в ней менять иконку редактором ресурсов, а потом закидывать Dll-ку куда требуется (вместе со своей прогой) и делать записи в Реестре, и проч.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Интеграция иконки в контекстное меню делается через dll...
В общем, в XP, без довеска никак. Вадим, как считаешь, есть смысл ради иконки таскать с собой dll-ку? Нашел подходящую, иконка вешается исправно+есть возможность поиграться с отображением пункта в контекстном меню.