Как передать все выбранные имена файлов в приложение C #? - PullRequest
1 голос
/ 19 января 2010

Я хотел бы выбрать несколько файлов на рабочем столе (или в любой другой папке) и передать их имена моему приложению.

Точнее говоря, я добавил ключ в реестр, чтобы при щелчке правой кнопкой мыши файла jpeg я увидел новую опцию «Преобразование», которая фактически запускает мое приложение. Вопрос в том, как передать все выбранные имена файлов в мое приложение?

Большое спасибо!

Ответы [ 2 ]

9 голосов
/ 19 января 2010

Они должны проходить мимо окон. Посмотрите на аргументы командной строки, переданные вашему приложению при запуске. то есть. в вашей функции Main с параметром string [] args.

Для иллюстрации:

static void Main(string[] args)
{
    if (args.Length == 0)
    {
        Console.WriteLine("Program called without arguments");
    }
    else
    {
        Console.WriteLine("Program received this arguments:");
        foreach (string arg in args)
        {
            Console.WriteLine("\t{0}", arg);
        }
    }

    // .. do other stuff
}
0 голосов
/ 19 января 2010

Если это то, что вы хотите сделать, когда ваше приложение уже запущено, например, с помощью операции перетаскивания типа, то есть несколько вызовов API, которые позволяют вам выполнять операции перетаскивания типа с объектами Shell.

Lookup / google IDragSourceHelper, IDropTargetHelper, IDataObject и т. Д.

...