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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обрезать текст от route print 
V
    Опции темы
xa3apg
Дата 29.5.2009, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



перенаправляю вывод route print с консоли в textbox1
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.IO;

namespace RouteAdd
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {       
            ProcessStartInfo startInfo = new ProcessStartInfo("route");
            startInfo.Arguments = "print";
            startInfo.CreateNoWindow = true;
            startInfo.UseShellExecute = false;
            startInfo.RedirectStandardOutput = true;
            startInfo.RedirectStandardError = true;
            Process process = Process.Start(startInfo);
            StreamReader outputReader = process.StandardOutput;
            StreamReader errorReader = process.StandardError;
            //process.WaitForExit();
            Encoding en = outputReader.CurrentEncoding;
            string s = outputReader.ReadToEnd()+ Environment.NewLine;
            
            textBox1.Text = Encoding.GetEncoding(866).GetString(en.GetBytes(s1));
           
        }
    }
}


Как можно обрезать текст, чтобы остались только одни "Постоянные маршруты:"? Мучался с System.Text.RegularExpressions, но ничего так и не получилось :(
Вижу еще вариант получения роутов с реестра (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes) , но не знаю как выдрать всю ветку, не зная имен ключей.

Помогите решить проблему  smile 
PM MAIL   Вверх
Bogdan1024
Дата 29.5.2009, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

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



Определить индекс "PersistentRoutes" в строке "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes" и удалить всё шо до этого, нэ?


--------------------
user posted image
PM MAIL   Вверх
xa3apg
Дата 29.5.2009, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Bogdan1024 @ 29.5.2009,  16:01)
Определить индекс "PersistentRoutes" в строке "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes" и удалить всё шо до этого, нэ?

мне вообщето надо с текста
Код

===========================================================================
Список интерфейсов
0x1 ........................... MS TCP Loopback interface
0x2 ...7a 79 05 22 82 98 ...... Hamachi Network Interface
0x120003 ...00 0c 6e 59 e6 c8 ...... Realtek RTL8139 Family PCI Fast Ethernet NI
C - ╠шэшяюЁЄ яырэшЁют∙шър яръхЄют
0x130005 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
===========================================================================
===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0     192.168.10.3    192.168.10.3       1
          0.0.0.0          0.0.0.0    192.168.144.2  192.168.146.218      21
          5.0.0.0        255.0.0.0     5.34.130.152    5.34.130.152       20
     5.34.130.152  255.255.255.255        127.0.0.1       127.0.0.1       20
    5.255.255.255  255.255.255.255     5.34.130.152    5.34.130.152       20
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      169.254.0.0      255.255.0.0     5.34.130.152    5.34.130.152       30
       172.16.0.0      255.240.0.0    192.168.144.2  192.168.146.218      1
       172.25.0.0    255.255.252.0    192.168.144.2  192.168.146.218      1
      192.168.0.0      255.255.0.0    192.168.144.2  192.168.146.218      1
     192.168.10.3  255.255.255.255        127.0.0.1       127.0.0.1       50
   192.168.10.255  255.255.255.255     192.168.10.3    192.168.10.3       50
    192.168.144.0    255.255.252.0  192.168.146.218  192.168.146.218      20
  192.168.146.124  255.255.255.255  192.168.146.218  192.168.146.218      20
  192.168.146.218  255.255.255.255        127.0.0.1       127.0.0.1       20
  192.168.146.255  255.255.255.255  192.168.146.218  192.168.146.218      20
        224.0.0.0        240.0.0.0     5.34.130.152    5.34.130.152       20
        224.0.0.0        240.0.0.0  192.168.146.218  192.168.146.218      20
        224.0.0.0        240.0.0.0     192.168.10.3    192.168.10.3       1
  255.255.255.255  255.255.255.255     5.34.130.152    5.34.130.152       1
  255.255.255.255  255.255.255.255     192.168.10.3    192.168.10.3       1
  255.255.255.255  255.255.255.255  192.168.146.218  192.168.146.218      1
Основной шлюз:        192.168.10.3
===========================================================================
Постоянные маршруты:
  Сетевой адрес            Маска    Адрес шлюза      Метрика
       172.25.0.0    255.255.252.0    192.168.144.2       1
      192.168.0.0      255.255.0.0    192.168.144.2       1
       172.16.0.0      255.240.0.0    192.168.144.2       1

оставить только 4 последние строчки, тоесть
Код

  Сетевой адрес            Маска    Адрес шлюза      Метрика
       172.25.0.0    255.255.252.0    192.168.144.2       1
      192.168.0.0      255.255.0.0    192.168.144.2       1
       172.16.0.0      255.240.0.0    192.168.144.2       1


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


Бывалый
*


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

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



xa3apg, если по-простому, то так:
Код

...
Encoding en = outputReader.CurrentEncoding;
string s = outputReader.ReadToEnd() + Environment.NewLine;
s = Encoding.GetEncoding(866).GetString(en.GetBytes(s));
int index = s.IndexOf("Постоянные маршруты:");
string resultString = s.Substring(index);
textBox1.Text = resultString;


А если хочешь с реестра, то так можно получить имена всех значений ключа:
Код

RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes");
string[] valueNames = key.GetValueNames();


Это сообщение отредактировал(а) DVariuS - 29.5.2009, 19:14
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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