Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск процессов с заданными параметрами 
:(
    Опции темы
Legolas
Дата 13.11.2007, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 2
Всего: 5



Если такая возможность в C#, как запуск сторонней программы (например, WinMediaPlayer) с определнными начальными параметрами? Я имею ввиду запуск того же плеера с определенным фильмом, с определенной минуты, с особыми настройками - такими как настройками звука (сила звучания) или формат экрана, или, не знаю, скорость воспроизведения. 
PM MAIL   Вверх
marcusmae
Дата 13.11.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



Legolas, да, есть. Метод Start класса Process (пространство имён System.Diagnostics) допускает запуск процесса с параметрами. Только эти параметры - аргументы коммандной строки. Не уверен, что MediaPlayer поддерживает аргументы коммандной строки.

В MSDN в качестве примера рассматривается запуск браузера с параметром - url.

Это сообщение отредактировал(а) marcusmae - 13.11.2007, 17:32


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Legolas
Дата 13.11.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 2
Всего: 5



это понятно, если написать так Process.Start("http://forum.vingrad.ru/forum"); то он автомат загрузит IE с данной страничкой.

А как это оформляется (аргументы командной строки)? приведи пример. 
PM MAIL   Вверх
marcusmae
Дата 13.11.2007, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



Цитата(Legolas @  13.11.2007,  18:05 Найти цитируемый пост)
это понятно, если написать так Process.Start("http://forum.vingrad.ru/forum"); то он автомат загрузит IE с данной страничкой.


забыли имя процесса написать

Цитата(Legolas @  13.11.2007,  18:05 Найти цитируемый пост)
А как это оформляется (аргументы командной строки)? приведи пример. 


так же, как из консоли оформляется вызов приложения с аргументами : имя образа + пробел + аргументы, разделённые пробелами. Например, такое приложение откроет tracert, который построит трассу перемещений по сети к ya.ru :

Код

using System;

namespace ProcessStartExample
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Diagnostics.Process.Start("tracert", "-d ya.ru");
        }
    }
}


Опция -d указывает не получать имена хостов (оставлять в виде номеров). Это чтобы было более одного аргумента  smile 



Это сообщение отредактировал(а) marcusmae - 13.11.2007, 18:22


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Legolas
Дата 13.11.2007, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 2
Всего: 5



Цитата

Цитата

это понятно, если написать так Process.Start("http://forum.vingrad.ru/forum"); то он автомат загрузит IE с данной страничкой.

забыли имя процесса написать


нет, не забыл, по умолчанию такие страницы открываются IE. 

А где можно поподробнее узнать о консольных опциях-параметрах?

Добавлено через 3 минуты и 6 секунд
нет, ошибся - запустится не IE, а браузер по умолчанию.

Добавлено через 7 минут и 17 секунд
кстати, имя процесса указывать совсем не обязательно, тк все файлы открываюся "программами по умолчанию". К примеру можно запустить фильм вот так: 
Код

Process.Start("C:/intolerable_cruelty_(01_of_01).avi");

PM MAIL   Вверх
marcusmae
Дата 13.11.2007, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



Цитата(Legolas @  13.11.2007,  18:34 Найти цитируемый пост)
имя процесса указывать совсем не обязательно, тк все файлы открываюся "программами по умолчанию". К примеру можно запустить фильм вот так: 


Круто. Именно из-за этого я бы указал smile 
  •  программы по умолчанию зарегестрированы не для всех расширений файлов
  •  зарегистрированная программа может работать с данным файлом некорректно (например, нет кодека)
  •  установленных программ, умеющих работать с данным файлом может быть не один десяток (как Вы иначе выберете?)
  •  польза от .Start не исчерпывается одними лишь "вызовами файлов" (кажется Вы собирались ещё какие-то настройки указывать)
Цитата

А где можно поподробнее узнать о консольных опциях-параметрах?


Windows Media Player command line options
и ещё
и вообще

Это сообщение отредактировал(а) marcusmae - 13.11.2007, 19:22


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Legolas
Дата 13.11.2007, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 2
Всего: 5



спасибо, но я там нигде не нашел параметров для изменения звука и других - только открытие-закрытие файлов и размер экрана.
PM MAIL   Вверх
marcusmae
Дата 13.11.2007, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



Цитата(Legolas @  13.11.2007,  19:36 Найти цитируемый пост)
только открытие-закрытие файлов и размер экрана

ещё плейлисты и медиа-устройства

Остальное через аргументы недоступно. Громкость и эквалайзеры следует искать либо в .ini-файле, либо в реестре. Там забиваются значения по умолчанию - их можно было бы изменить. А вот начать проигрывание с определённой позиции так не выйдёт.

Есть ещё одна идея. Вам знакомо COM-взаимодействие? Многие программы его поддерживают. = Попробуйте открыть References проекта на вкладке COM. В зависимости от версии ОС и WMP там должны быть объекты типа Windows Media Player Launcher (и другие). Присоедините какой-нибудь и дважды кликните по названию - откроется Object Browser с содержимым, по которому можно посмотреть, что может пригодиться. Оттуда, возможно, будет доступно больше настроек. Но это уже имеет мало общего с названием темы smile 


Это сообщение отредактировал(а) marcusmae - 13.11.2007, 21:02


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Legolas
Дата 14.11.2007, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 2
Всего: 5



спасибо за совет - сейчас попробую.

Добавлено через 5 минут и 8 секунд
похоже то, что нужно! спасиб огромный - щас буду разбираться...
PM MAIL   Вверх
marcusmae
Дата 14.11.2007, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



Не за что. 

Вот ссылка по теме : Using the Windows Media Player Control with Microsoft Visual Studio

Возможно, понадобится Windows Media Player SDK, хотя что-то можно сделать и без него.


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Legolas
Дата 14.11.2007, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 2
Всего: 5



marcusmae
твои ссылки - золото!  smile  smile  smile 
PM MAIL   Вверх
kven
Дата 10.12.2007, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 5.12.2007

Репутация: 1
Всего: 1



Эта команда запускает только зарегестрированные программы, или абсолютно любую из указанной дирректории и с параметрами? Мне необходимо запустить просто ехе файл, должно работать?
PM MAIL   Вверх
sllh
Дата 10.12.2007, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 8.7.2006

Репутация: нет
Всего: нет



Абсолютно любую -- есть же MSDN, можно почитать ;)
PM MAIL   Вверх
kven
Дата 10.12.2007, 03:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 5.12.2007

Репутация: 1
Всего: 1



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

Может скоро разберусь, но если знаеш подскажи как заставить параметры принимать как будто они были посланы из командной строки

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0739 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.