Если вы правильно зарегистрировали приложение для определенного расширения, тогда, если пользователь дважды щелкнет файл с этим расширением, SO вызывает ваше приложение и передает аргумент командной строки с двойным щелчком имени файла. Структура также инициализирует свойство Environment.CommandLine
с переданной командной строкой. Вы можете получить это свойство всюду в своей программе или использовать массив Environment.GetCommandLineArgs
. Просто помните, что этот массив имеет первый элемент, равный имени вашей программы, и аргументы начинаются со второго элемента.
Вы должны написать главную точку входа с аргументами, как в консольном приложении
static void Main(string[] args)
{
if(args.Length > 0)
{
// command line passed
string fileToProcess = args[0];
if(Path.GetExtension(fileToProcess) == ".abc")
{
// Whatever
}
}
}
Если я правильно понимаю, что вам нужны две вещи здесь: 1. связывающих .abc файлов с вашей программой в Windows, и 2. зная как получить имя файла после запуска вашей программы. Я прав? Или это только второй пункт? –
Это больше вторая часть. Как только файл щелкнут и запущена связанная с ним программа, как эта программа получает информацию о файле? Извините за двусмысленность. – MK3GTX