|
2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 134
|
|
Создание,добавление,обработка пунктов в контекстном меню Windows16.08.2010, 17:07. Показов 6046. Ответов 15
Метки нет (Все метки)
Дополнительные пункты в контекстном меню windows,я так понимаю, создаются изменением,добавлением в реестре HKEY_CLASSES_ROOT\\"*" необходимых пунктов (для всех файлов). Таким образом при нажатии правой кнопки мыши на любом файле в контекстном меню появятся созданное нами меню. Но возникает вопрос, как в зависимости от нажатого пункта контекстного меню вызывать ту или иную функцию программы. Т.е например вывод названий соответствующих нажатию пунктов контекстного меня. Как это можно реализовать???
0
|
|
| 16.08.2010, 17:07 | |
|
Ответы с готовыми решениями:
15
Обработка файлов в контекстном меню
Создание пунктов меню |
|
Почетный модератор
|
|
| 16.08.2010, 18:48 | |
|
У каждого пункта меню сделай в реестре разные данные, которые передаются в командную строку.
Например для Open в командную строку приложения передается параметр /open %path_to_file%, а для Print /print %path_to_file%.
1
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 16.08.2010, 20:30 | |
|
А если приложение уже запущено? Например, добавить файл в список.
0
|
|
|
Почетный модератор
|
|
| 16.08.2010, 20:53 | |
|
Т.е. чтобы был запущен один экземпляр приложения, и файлы открывались в нём? Как вариант можно при запуске приложения, искать главное окно и послать ему сообщение (SendMessage) с параметрами. А в главном просто обработать это сообщение и открыть файл.
1
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 16.08.2010, 21:36 | |
|
А можно кусок кода как отправить и принять сообщение?
0
|
|
|
Почетный модератор
|
|
| 16.08.2010, 23:51 | |
|
Вот пример, только почему-то C# не хочет нормально отправлять строки... Щас буду пробовать другой метод.
Использование: 1) Запустить exe 2) Запустить то-же exe но с двумя параметрами командной строки, например /param exe 3) Должно быть выдано сообщение с двумя цифрами от первого приложения. Однако, ситуация интересная.
1
|
|
|
2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 134
|
|
| 17.08.2010, 08:26 [ТС] | |
|
Что-то я не совсем понял, как запустить данную программу, и как она работает? И еще тогда один вопрос, а как сделать инсталлятор, чтобы не нужно было открывать программу, которая будет выводить ту или иную программу в зависимости от переданного параметра, а всего-навсего, после инсталла программы, в контекстном меню Windows появились необходимые пункты, по нажатию по которым происходили те или иные операции, а после деинсталла, пропадали???
0
|
|
|
Почетный модератор
|
|
| 17.08.2010, 12:33 | |
|
Данная программа больше по теме body90. А в твоем случае я бы взял какой-нибудь инсталлятор например SmartInstallMaker или AdvancedInstaller, и там есть возможность создания (удаление) ключей реестра при установке программы. Или вопрос в другом?
0
|
|
|
2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 134
|
|
| 17.08.2010, 13:43 [ТС] | |
|
SSTREGG, необходимо создать инсталятор используя VS 2008, так вот как сделать так, чтоб при установке windows приложения выполнить запись в реестр для добавление пунктов в контекстное меню без запуска (отображения) приложения. Как вариант сделать windows-приложение невидимым, т.е после инсталяции выполнить метод данного windows приложения, который записывает данные в реестр, но это наверное не совсем правильно. Как можно выполнить код, в данном случае запись в реестр, после инсталяции программы???? Если же делать как вы говорите вручную, то возникает еще одна проблема, в инсталяроре возможно только создание новых ключей, а мне нужно добавить в данном случае для всех файлов, т.е записать в HKEY_CLASSES_ROOT\*\shell\, и как сделать чтобы дополнительное меню было отдельно выделено, т.е с сепараторами.
0
|
|
|
2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 134
|
|
| 18.08.2010, 12:59 [ТС] | |
|
Народ, да неужто все так сложно??? Неужели невозможно создать пункты в контекстном меню не прибегая к записи в ручную в реестр, а если реестр обновится или изменится, то что тогда??? Может есть другие методы??? А если я захочу картинку к пункту приспособить,или выделить пункты в отдельный блок, как например в winrar...Может необходимо использовать win32, но как??? Подтолкните плизззз...Заранее благодарю...
0
|
|
|
2 / 2 / 0
Регистрация: 10.11.2009
Сообщений: 134
|
|
| 18.08.2010, 13:08 [ТС] | |
|
В VS2008 при создании инсталятора, возможно настройка записи в реест, но дело в чем мне необходимо в реестре создать дополнительные пункты контекстного меню для файлов всех типов, т.е в реестре ветка HKEY_CLASSES_ROOT\*\, а при настройке записи в реестр войти в эту папку нельзя((((, там можно только новые создавать.Как решить данные проблемы((( Если бы можно было так сделать, то не нужно было бы работать с win32
0
|
|
|
Почетный модератор
|
|
| 18.08.2010, 13:37 | |
|
Короче, вот способ чтобы добавить статический пункт меню (т.е. для всех файлов):
Добавь в реестр следующие ключ и значение: Ключ HKEY_CLASSES_ROOT\*\shell\Текст_пункта_м еню\command Значение Notepad.exe %1 К примеру.
2
|
|
| 18.08.2010, 13:37 | |
|
Помогаю со студенческими работами здесь
16
Блокировка пунктов в контекстном меню
Русификация пунктов ZP в контекстном меню Добавление пунктов в контекстное меню Windows
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|