Я добавляю элемент контекстного меню в реестр Windows, поэтому, когда я нажимаю на файл, я могу вызвать свое приложение, и этот файл будет установлен для моего приложения в качестве аргумента. Но как я могу это сделать, чтобы в мое приложение было отправлено несколько файлов (все файлы, которые я выбрал)?
прямо сейчас у меня есть команда как:
"C:/test.dll" "%1"
Но это, кажется, вызывает каждый файл отдельно. какая команда закинуть все файлы которые я выбрал?
См. этот соответствующий пост, который должен вам помочь. — person user1255276 schedule 16.05.2012
Спасибо, Джис Бен :), но по какой-то причине ничего из этого не сработало. Все они по-прежнему добавляются отдельно или не работают. Например, когда я пытаюсь %*, вместо всех файлов выбрасывается файл без имени. И когда я пытаюсь %1 %2 %3, имя файла добавляется вместе с %2 %3, добавленным к нему в конце. Должно быть иначе, когда вы звоните из реестра или что-то в этом роде? — person user1255276 schedule 16.05.2012
Если вы оставите его как %1
и попробуете 2 файла, будет ли приложение вызываться дважды, по одному разу для каждого файла? Просто подумал, что ответ в этом случае состоит в том, чтобы вторая копия приложения сообщала первой копии свою командную строку, а затем первая копия могла обрабатывать оба файла. — person user1255276 schedule 07.06.2012
Похоже, вам нужно написать расширение оболочки или сделать, как предложил Джоэл. Дублировать: stackoverflow.com/questions/2315990/ — person user1255276 schedule 09.06.2012
Используйте «%*» для передачи всех элементов из командной строки в другое приложение.
Привет, Сергей. Спасибо за комментарий :), но, как я уже упоминал, я пробовал %*, но через реестр, похоже, это не работает. Я где-то еще читал, что вам нужно создать bat-файл, который выполняет вызов командной строки, чтобы % * работал, а затем ваш реестр указывал на bat-файл. Но опять же, при этом окна по-прежнему открывали каждый файл в отдельном приложении. — person user1255276; 11.06.2012