Страница: 1 |
Страница: 1 |
Вопрос: Несколько параметров командной строки
Добавлено: 26.07.11 18:00
Автор вопроса: @lex
Меня тут вопросы Daniel'а натолкнули на одну интересную штуку. Лень думать, как разжевать это на словах. Покажу на примере.
Есть пункт в контекстом меню, который открывает файл через мою программу, передавая ее путь.
Есть программа... Ну допустим такая, чисто для примера:
Text1.Text = Replace(Command, """", "")
End Sub
Все отлично. Путь к файлу успешно передается и пишется в текстбокс. Но если выделить в проводнике несколько файлов, и жмакнуть пункт меню - откроются 2 инстанса программы. В одном будет путь к первому файлу, во втором - ко второму.
И собственно вопрос: Есть у кого-то какие-то идеи по этому поводу? Возможно ли как-то передать пути нескольких файлов, не запуская программу для каждого отдельно?
Была идея сделать проверку PrevInstance, и если True - отправлять параметр через какой-нить SendWindowMessage и убиваться. Но это ИМХО бред.
Тем более если программа сама закрывается после обработки первого файла. Допустим:
If Command <> "" Then
Clipboard.Clear
Clipboard.SetText Replace(Command, """", "")
End If
End
End Sub
Успешно скопирует путь в буфер обмена, но если будет несколько файлов - скопируется только последний. Чекать PrevInstance бесполезно - программа сразу закрывается.
Надеюсь меня кто-то поймет Х_х
Возможно ли это как-то реализовать?) Просто интересно стало.
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
@lex
Вопросов: 14
Ответов: 262
Профиль | | #1
Добавлено: 26.07.11 18:04
Я, честно говоря, думал, что гребаный проводник будет передавать пути файлов через какой-то разделитель. А он просто берет и обрабатывает их как несколько отдельных. Он, видимо, вообще "не знает", что файлов есть несколько.
Номер ответа: 2
Автор ответа:
@lex
Вопросов: 14
Ответов: 262
Профиль | | #2
Добавлено: 26.07.11 18:20
Вот тот же Winrar. Если выделить несколько архивов и жмакнуть "Извлечь" - они все будут обрабатываться одним инстансом программы с общим прогрессбаром. КАК? ><
Номер ответа: 3
Автор ответа:
Daniel
ICQ: 610950440
Вопросов: 12
Ответов: 45
Web-сайт:
Профиль | | #3
Добавлено: 26.07.11 18:55
@lex, это в точку. Ну как это сделать?
Номер ответа: 4
Автор ответа:
Daniel
ICQ: 610950440
Вопросов: 12
Ответов: 45
Web-сайт:
Профиль | | #4
Добавлено: 26.07.11 18:58
Не, ну можно PrevInstance...
Можно куда-нить в файл писать
Номер ответа: 5
Автор ответа:
binfloor
Вопросов: 0
Ответов: 1
Web-сайт:
Профиль | | #5
Добавлено: 26.07.11 19:02
Ну как это сделать?
Номер ответа: 6
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #6
Добавлено: 27.07.11 22:03
>Но это ИМХО бред.
ээ я именно так делал) песенки в проводнике выделеяшь, жмакаешь ентер и они добавляются в плейлист
Номер ответа: 7
Автор ответа:
@lex
Вопросов: 14
Ответов: 262
Профиль | | #7
Добавлено: 28.07.11 02:22
ээ я именно так делал)
Хм. Ну спасибо, раз так. Значит буду чекать PrevInstance и юзать DDE.
Номер ответа: 8
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #8
Добавлено: 29.07.11 23:12
Разве что запускать её при запуске проги.