Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Ответ
 
Опции темы
Старый 04.01.2012, 10:58   #1
 Пехотинец
Аватар для megweg
 
megweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известен
Регистрация: 28.12.2009
Сообщений: 75
Популярность: 427
Сказал(а) спасибо: 19
Поблагодарили 38 раз(а) в 23 сообщениях
Отправить сообщение для megweg с помощью Skype™
 
Post Консольное приложение и принимаемые аргументы

Всем привет... Думаю многие начинали писать с консольных приложений
С начала код выглядит вот так (подключение директив я опущу)
Код:
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
         
        }
    }
}
Так вот, сейчас я вам расскажу что это за массив
Код:
string[] args
Для того чтобы объяснить напишем немного кода
Код:
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Количество аргументов: "+ args.Length);
            foreach (var s in args)
            {
                Console.Write("\n"+s);
            }
            Console.ReadKey();
        }
    }
}
И нажимаем F5, и видим

[Ссылки могут видеть только зарегистрированные пользователи. ]

Сейчас - аргументов нет, но мы это исправим.
Ищем папку с проектом, и находим папку с ехе - шником, и в ней создаём bat файл следующего содержания
т.к. у bat - ов проблемы с юникодом все аргументы на английском

[Ссылки могут видеть только зарегистрированные пользователи. ]

и запустим его, в результате получим

[Ссылки могут видеть только зарегистрированные пользователи. ]

Так мы можем скидывать любую информацию в exe, допустим проассоциировать с типом файлом
Конечно можно писать и без '-', но дело в том что если в слове присутствует пробел, то это два разных аргумента

Это возможно и в форме, вот только нужно немного изменить код. Но это уже другая история...

Последний раз редактировалось megweg; 04.01.2012 в 12:06.
  Ответить с цитированием
Старый 04.01.2012, 19:07   #2
Заблокирован
 Разведчик
Аватар для Hermein(3)
 
Hermein(3) на правильном пути
Регистрация: 18.10.2011
Сообщений: 8
Популярность: 44
Сказал(а) спасибо: 11
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: Консоль и принимаемые аргументы

То есть вот каким способом запускать программы с параметрами?

типо в программе пропишем действия на конкретный аргумент:
foreach (var s in args)
{
switch(s)
{
case "":
break;
case "":
break;
}
}

А как сделать с WinForms-ами???
  Ответить с цитированием
Старый 04.01.2012, 19:36   #3
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: Консоль и принимаемые аргументы

Hermein(3), Environment.GetCommandLineArgs
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой
  Ответить с цитированием
Старый 04.01.2012, 21:44   #4
 Пехотинец
Аватар для megweg
 
megweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известен
Регистрация: 28.12.2009
Сообщений: 75
Популярность: 427
Сказал(а) спасибо: 19
Поблагодарили 38 раз(а) в 23 сообщениях
Отправить сообщение для megweg с помощью Skype™
 
По умолчанию Re: Консоль и принимаемые аргументы

Цитата:
Сообщение от •theSaboteur•Посмотреть сообщение
Hermein(3), Environment.GetCommandLineArgs

ну не знаю, я делал немного по другому
  Ответить с цитированием
Старый 04.01.2012, 22:35   #5
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: Консоль и принимаемые аргументы

Цитата:
Сообщение от megwegПосмотреть сообщение
ну не знаю, я делал немного по другому

..Да мало-ли как их получать. Класс Environment в данном случае полностью удовлетворяет потребности, можно конечно заниматься извращениями и получать их скажем посредством класса Process.StartInfo.Arguments (как говорит мсдн - работает только при условии, что процесс был запущен .нэт методом Process.Start) или сделать wmi запрос:
Код:
Environment.CommandLine
Код:
Environment.GetCommandLineArgs
Код:
Process.StartInfo.Arguments
Код:
ManagementObjectSearcher moS = new ManagementObjectSearcher("select CommandLine from win32_process where name='" + Process.GetCurrentProcess().ProcessName + "'");
ManagementObjectCollection collection = moS.Get()
ManagementObject[] objs = new ManagementObject[collection.Count];
collection.CopyTo(objs,0);
string[] args = objs[0]["CommandLine"] as string[];
//.....
. Только зачем?
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой
  Ответить с цитированием
Старый 04.01.2012, 22:42   #6
 Пехотинец
Аватар для megweg
 
megweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известен
Регистрация: 28.12.2009
Сообщений: 75
Популярность: 427
Сказал(а) спасибо: 19
Поблагодарили 38 раз(а) в 23 сообщениях
Отправить сообщение для megweg с помощью Skype™
 
По умолчанию Re: Консоль и принимаемые аргументы

[/code]. Только зачем?[/QUOTE]

Ну кому как, я в прошлом году писал курсовой, програмка сбоку расписание показывает... естественно расписание храница в файлах.
В итоге, если программу просто запускать, оно показывает расписание указанное в настройках.
Но ещё моя программа лезла в реестр и ассоциировала себя с моим типом файлов. Если Открыть файл расписания двойным щелчком, то откроется редактор его.

В итоге программа одна, а функций две.

а как делал я описал ТУТ
  Ответить с цитированием
Старый 04.01.2012, 22:53   #7
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: Консоль и принимаемые аргументы

Цитата:
Сообщение от megwegПосмотреть сообщение

Ну кому как, я в прошлом году писал курсовой, програмка сбоку расписание показывает... естественно расписание храница в файлах.
В итоге, если программу просто запускать, оно показывает расписание указанное в настройках.
Но ещё моя программа лезла в реестр и ассоциировала себя с моим типом файлов. Если Открыть файл расписания двойным щелчком, то откроется редактор его.

В итоге программа одна, а функций две.

а как делал я описал ТУТ

Вы сейчас это к чему?
Возможно вы меня не совсем поняли - я вовсе не говорил что аргументы не нужны - абсурд, я лишь сказал что нет смысла извращаться, когда разработчики платформы уже предоставили нужные возможности в удобнейшем виде.
Что касаемо ссылки, думаю многие форумчане будут вам благодарны за предоставленные сведения...
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой
  Ответить с цитированием
Старый 04.01.2012, 23:06   #8
 Пехотинец
Аватар для megweg
 
megweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известенmegweg скоро будет известен
Регистрация: 28.12.2009
Сообщений: 75
Популярность: 427
Сказал(а) спасибо: 19
Поблагодарили 38 раз(а) в 23 сообщениях
Отправить сообщение для megweg с помощью Skype™
 
По умолчанию Re: Консоль и принимаемые аргументы

Ну заодно привел пример как эту функцию можно юзать...
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ГМ консоль 1984 Jade Dynasty 40 14.08.2018 08:39
Консоль yfcn.yfcn.10 Общение и обсуждение Aion 3 02.07.2011 11:49
[Помогите!] Консоль и лог чата Kisamay Общение и обсуждение Aion 3 22.04.2011 13:25
ГМ консоль maxxx Rising Force Online 2 11.09.2008 01:01

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 11:25.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net