Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
 Аватар для ReIgnite
25 / 25 / 5
Регистрация: 10.01.2016
Сообщений: 52
.NET 3.x

Как добавить в стандартное контекстное меню Windows свою программу?

23.07.2016, 13:19. Показов 4721. Ответов 26

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
У меня такой вопрос - как добавить в стандартное контекстное меню Windows свою программу? Например, щёлкаем ПКМ на картиночке - появляется контекстное меню.

->проверить на вирусы (антивирус)
-> архивировать (архиватор)

Как добавить действие?

-> сделать что-то (моя программа)

***

Второй вопрос, после того как открываем таким способом свою программу, как с ней делать какие либо действия? В программе есть кнопка "открыть", где появляется OpenFileDialog. Как я думаю, нужно как-то "словить" файл, открытый из контекстного меню или драг-дропа на программу, и ввести его в поле открытия в замен OpenFileDialog.FileName.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2016, 13:19
Ответы с готовыми решениями:

Как добавить свою команду в контекстное меню рабочего стола?
Здравствуйте! Извините за не которые ошибки в теме, я просто не знаю как это правильно называется Там "Панель управление...

Как добавить свою программу в контекстное меню проводника?
Как добавить свою программу в контекстное меню проводника?

Как добавить пункт в контекстное меню Windows для картинок?
Как добавить пункт в контекстное меню Windows для картинок? Т.е. чтобы при вызове контекстного меню над картинкой (.PNG) появился новый...

26
4 / 4 / 0
Регистрация: 24.02.2016
Сообщений: 229
05.07.2019, 14:44
Студворк — интернет-сервис помощи студентам
Спасибо! Запуск программы по контекстному меню на папке сделал.
Остался вопрос - как передать в программу путь к папке?
0
Лень — мое второе и
 Аватар для Orlangur
3231 / 2418 / 688
Регистрация: 28.11.2014
Сообщений: 3,603
Записей в блоге: 3
05.07.2019, 15:47
Allleksey, записав в реестр что-то типа
VB.NET
1
reg_write("HKEY_CLASSES_ROOT\*\Shell\ED\Command", "", Application.StartupPath & "\myapp.exe %1") ' указание расположения программы
вы уже указываете, что текущий путь будет передаваться в виде аргументов вашему приложению, осталось только эти аргументы получить. Например так:
VB.NET
1
2
3
4
5
 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        If My.Application.CommandLineArgs.Count > 0 Then
            Label1.Text = My.Application.CommandLineArgs(0) ' если в аргументах что-то было передано приложению, то это отобразится в label
        End If
    End Sub
1
4 / 4 / 0
Регистрация: 24.02.2016
Сообщений: 229
05.07.2019, 16:10
Цитата Сообщение от Orlangur1991 Посмотреть сообщение
записав в реестр что-то типа
мне нужно в программу передать не адрес запуска программы, а адрес папки, на которой "ткнули" контекстное меню.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18359 / 14289 / 5370
Регистрация: 17.03.2014
Сообщений: 28,968
Записей в блоге: 1
05.07.2019, 22:22
Цитата Сообщение от Allleksey Посмотреть сообщение
мне нужно в программу передать не адрес запуска программы, а адрес папки, на которой "ткнули" контекстное меню.
Выполнение совета Orlangur1991 именно это и даст.
0
4 / 4 / 0
Регистрация: 24.02.2016
Сообщений: 229
08.07.2019, 07:14
Ага.... %1 в окончании записи дает передачу пути. Вот это я и хотел узнать.
Всем большой рахмет
0
2 / 2 / 0
Регистрация: 05.07.2013
Сообщений: 81
17.10.2024, 12:48
Извините, что поднимаю старую тему, но можно ли получить параметры в уже запущенную программу?
0
 Аватар для Юпатов Дмитрий
1722 / 1209 / 228
Регистрация: 23.12.2010
Сообщений: 1,544
23.10.2024, 01:40
Цитата Сообщение от 22gp Посмотреть сообщение
Извините, что поднимаю старую тему, но можно ли получить параметры в уже запущенную программу?
Да. Если у тебя приложение скомпилировано как "приложение, допускающее исполнение только одного экземпляра", то используй событие StartupNextInstance - возникает при запуске приложения, допускающего одновременное выполнение только одного экземпляра, если это приложение уже активно. Это параметры приложения. файл ApplicationEvents.vb

То есть в этом событии и проверяй, что в командной строке прилетело.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.10.2024, 01:40

Добавить программу в контекстное меню
Нужно добавить мою программу в меню, которое выскакивает когда нажимаешь ПКМ на файле. Даже не программу а группу программ в меню...

Как добавить пункты в контекстное меню
Доброго времени суток! Мне нужно добавить несколько пунктов в контекстное меню в случае, когда выделена одна заметка. Можно ли это...

Как QTableView добавить контекстное меню?
Есть модель, которая грузит данные из БД и представление для нее. Нужно добавить контекстное меню, для добавления и удаления строк в...

Как добавить контекстное меню в item?
Нужно добавить одинаковые контекстные меню в каждый item, какого-нибудь виджета (например, QComboBox или QTableView). Подскажите как это...

Как добавить подпункт в контекстное меню?
всем приветы. вот так создаю новое контекстное меню, добавляю в него пункты Private Sub Form1_Load(sender As Object, e As EventArgs)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru