Я работаю над программой, которая может читать, писать и экспортировать файлы, все эти функции работают отлично и почти совершенны. Теперь я хотел бы выбрать файл и сообщить ему «Открыть с» (в контекстном меню правой кнопки мыши в Windows XP), и мое приложение сможет обрабатывать указанный файл. Я понятия не имею, с чего начать и где искать, поэтому я подумал, что попрошу здесь. Благодарю.Добавление функции «Открыть с ...» C#
ответ
Эй, я считаю, что это определено в реестре. Например. MSAccess определяется как:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Access.Application.11\shell\Edit]
@="&Edit"
[HKEY_CLASSES_ROOT\Access.Application.11\shell\Edit\command]
@="\"C:\\Programmer\\Microsoft Office\\OFFICE11\\MSACCESS.EXE\" /NOSTARTUP \"%1\""
[HKEY_CLASSES_ROOT\Access.Application.11\shell\Edit\ddeexec]
@="[SetForeground][ShellOpenDatabase \"%1\"]"
[HKEY_CLASSES_ROOT\Access.Application.11\shell\Edit\ddeexec\Application]
@="Msaccess"
[HKEY_CLASSES_ROOT\Access.Application.11\shell\Edit\ddeexec\IfExec]
@="[SHELLNOOP]"
[HKEY_CLASSES_ROOT\Access.Application.11\shell\Edit\ddeexec\Topic]
@="ShellSystem"
Графический интерфейс также существует в настройках папки -> Типы файлов.
Br. Morten
вопрос заключается в том, как обрабатывать файл после того, как он открывается моим приложением – MHD
Поднимают диалоговое окно Выполнить и введите: regedit
(редактор реестра)
Перейти к: HKEY_CLASSES_ROOT\*\shell
и создать раздел под названием: «Открыть с помощью YourApp», создать еще один раздел под только что созданным им " команда». В поле Значение по умолчанию введите путь к вашему exe, затем добавьте «% 1» в конце для параметра.
Вы могли бы взглянуть на эту статью для Windows KB:
«Как связать расширение файла с приложения (Win32)» http://support.microsoft.com/kb/185453
Он выглядит, как он дает пример кода для того, как сделать это в VBScript (?), но похоже, что он проходит через пути реестра, на которые вы должны смотреть.
В Program.cs, добавьте указанные строки ниже:
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var mainForm = new MainForm();
// Add these lines:
// ----------------------------------------------
string[] args = Environment.GetCommandLineArgs();
if (args.Count() >= 2)
mainForm.LoadFile(args[1]);
// ----------------------------------------------
Application.Run(mainForm);
}
}
Где LoadFile(string filePath)
ваш метод, который обрабатывает файл, который передается извне.
- 1. Добавление функции «открыть с ...» в мою игру
- 2. Селена C#: Добавление explicitwait функции
- 3. Добавление C++ функции в C GUI
- 4. Добавление меню «Открыть в ...»
- 5. C++ «Открыть с помощью»
- 6. Как открыть браузер с помощью функции execlp native в C
- 7. Невозможно открыть .exe с помощью функции shellExecute в C++
- 8. Добавление зЬй :: функции в вектор C++
- 9. Добавление внешней функции ассемблера в проект C
- 10. Добавление WebPartZone с использованием функции
- 11. добавление annotation_custom с rasterGrob после вызова функции
- 12. Добавление синтаксиса функции Lua
- 13. Как открыть regedit с C++
- 14. C++ открыть ссылку с ShellExecute
- 15. Открыть каталог с помощью C
- 16. Как открыть папку с C++
- 17. Невозможно открыть файл.txt с C++
- 18. Добавление функциональности к уже существующей функции (C#, C++)
- 19. Проблема функции хэш-функции - добавление функциональности
- 20. Открыть C: \ windows \ assembly \ gac_msil с C#
- 21. Добавление CSS с помощью функции в PHP
- 22. открыть новое действие с помощью функции
- 23. Невозможно открыть Modal с помощью функции JS
- 24. Sqlite3 добавление пользовательской функции
- 25. Как я могу открыть функции C для пользовательской виртуальной машины?
- 26. Невозможно открыть файл с помощью C
- 27. Добавление функции в HTML
- 28. Добавление кнопки «Открыть файл» для выбранного файла
- 29. Добавление функции к редуктору
- 30. Добавление редакторов в Visual Studio «Открыть с ...» диалоговое окно
Вопрос заключается в том, как узнать, что ваше приложение запускается главным приложением exe или с открытием с диалоговым окном в расширение вашего приложения – MHD