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

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

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

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

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

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

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

***

Второй вопрос, после того как открываем таким способом свою программу, как с ней делать какие либо действия? В программе есть кнопка "открыть", где появляется OpenFileDialog. Как я думаю, нужно как-то "словить" файл, открытый из контекстного меню или драг-дропа на программу, и ввести его в поле открытия в замен OpenFileDialog.FileName.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2016, 13:19
Ответы с готовыми решениями:

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

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

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

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

26
4 / 4 / 0
Регистрация: 24.02.2016
Сообщений: 229
05.07.2019, 14:44 21
Author24 — интернет-сервис помощи студентам
Спасибо! Запуск программы по контекстному меню на папке сделал.
Остался вопрос - как передать в программу путь к папке?
0
Лень — мое второе и
3220 / 2410 / 685
Регистрация: 28.11.2014
Сообщений: 3,596
Записей в блоге: 3
05.07.2019, 15:47 22
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 23
Цитата Сообщение от Orlangur1991 Посмотреть сообщение
записав в реестр что-то типа
мне нужно в программу передать не адрес запуска программы, а адрес папки, на которой "ткнули" контекстное меню.
0
Администратор
Эксперт .NET
17543 / 13766 / 5298
Регистрация: 17.03.2014
Сообщений: 28,247
Записей в блоге: 1
05.07.2019, 22:22 24
Цитата Сообщение от Allleksey Посмотреть сообщение
мне нужно в программу передать не адрес запуска программы, а адрес папки, на которой "ткнули" контекстное меню.
Выполнение совета Orlangur1991 именно это и даст.
0
4 / 4 / 0
Регистрация: 24.02.2016
Сообщений: 229
08.07.2019, 07:14 25
Ага.... %1 в окончании записи дает передачу пути. Вот это я и хотел узнать.
Всем большой рахмет
0
2 / 2 / 0
Регистрация: 05.07.2013
Сообщений: 81
17.10.2024, 12:48 26
Извините, что поднимаю старую тему, но можно ли получить параметры в уже запущенную программу?
0
1713 / 1201 / 227
Регистрация: 23.12.2010
Сообщений: 1,530
23.10.2024, 01:40 27
Цитата Сообщение от 22gp Посмотреть сообщение
Извините, что поднимаю старую тему, но можно ли получить параметры в уже запущенную программу?
Да. Если у тебя приложение скомпилировано как "приложение, допускающее исполнение только одного экземпляра", то используй событие StartupNextInstance - возникает при запуске приложения, допускающего одновременное выполнение только одного экземпляра, если это приложение уже активно. Это параметры приложения. файл ApplicationEvents.vb

То есть в этом событии и проверяй, что в командной строке прилетело.
1
23.10.2024, 01:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.10.2024, 01:40
Помогаю со студенческими работами здесь

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

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

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

Как добавить подпункт в контекстное меню?
всем приветы. вот так создаю новое контекстное меню, добавляю в него пункты Private Sub...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru