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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отправить сообщение, use "службу сообщений", или захватить весь вывод в консоли. 
V
    Опции темы
Bog d`An
Дата 19.11.2006, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Сабж.

или создать процесс cmd с перенаправлением ввода-вывода. Соответственно - net send и т.д.

--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
Softaz
Дата 19.11.2006, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


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

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



Код

            Process myProcess = new Process();
            ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("cmd.exe");
            myProcessStartInfo.CreateNoWindow = false;
            myProcessStartInfo.Arguments = @"/c echo Hello!!!!!!";// передаем аргумент
            myProcessStartInfo.UseShellExecute = false;
            myProcessStartInfo.RedirectStandardOutput = true;
            myProcess.StartInfo = myProcessStartInfo;

            myProcess.Start();

            StreamReader myStreamReader = myProcess.StandardOutput;
            // Read the standard output of the spawned process.
            string myString = myStreamReader.ReadToEnd();// читать до конца
            tb_ic.Text = myString;

            myProcess.Close();


Это сообщение отредактировал(а) Softaz - 19.11.2006, 20:05


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
Exception
Дата 19.11.2006, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Пример замены standard output:

Код

Process runCmd = new Process();
runCmd.StartInfo.FileName = "RunBatch.bat";
runCmd.StartInfo.UseShellExecute = false;
runCmd.StartInfo.RedirectStandardOutput = true;
runCmd.Start(); 

FileStream fs = new FileStream("OutPut.log",FileMode.Append);
StreamWriter sw = new StreamWriter(fs);
sw.Write(runCmd.StandardOutput.ReadToEnd());
runCmd.WaitForExit();

sw.Close();
fs.Close();

PM   Вверх
Bog d`An
Дата 20.11.2006, 03:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Всем спасибо) 


Не подскажете, заодно, как передставить результат в ANSI ? ;)

Это сообщение отредактировал(а) Bog d`An - 20.11.2006, 13:00
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
Gelis
Дата 20.11.2006, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Bog d`An, используйте класс System.Encoding
PM MAIL   Вверх
Bog d`An
Дата 20.11.2006, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



 smile 

Пример...
Для корректного отображения русских букв. Вместо ?????? ???? ????
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
Bog d`An
Дата 21.11.2006, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Эм...

По поводу...
эта строка
Код

            runCMD.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

должна заставлять приложение запускатся скрытым? 

Почему-то не работает%)
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
mr.DUDA
Дата 21.11.2006, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Цитата(Bog d`An @  20.11.2006,  21:08 Найти цитируемый пост)
Для корректного отображения русских букв. Вместо ?????? ???? ????

Код
using System;
using System.Text;

class Program
{
    static void Main()
    {
        string originalText = ... // получаем строку откуда-нибудь

        // кодировка, в которой находится originalText
        // можно юзать любой номер кодировки или её имя
        Encoding originalEncoding = Encoding.GetEncoding(866); // 866 -  кодировка DOS
        byte[] arr = originalEncoding.GetBytes(originalText);

        // конвертируем в ASCII
        string convertedText = Encoding.ASCII.GetString(arr);
    }
}



--------------------
user posted image
PM MAIL WWW   Вверх
Bog d`An
Дата 21.11.2006, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



‘®®ЎйҐ­ЁҐ гбЇҐи­® ®вЇа ў«Ґ­®
превратилось в
'RR???-?? ?????-R R?????<?-R

мя так понимаю, надо из oem конвертить, правильно?
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
mr.DUDA
Дата 21.11.2006, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Цитата(Bog d`An @  21.11.2006,  17:56 Найти цитируемый пост)
мя так понимаю, надо из oem конвертить, правильно?

Для начала, надо узнать что за кодировка в строке, потом выбрать правильный Encoding (originalEncoding). Может там не ДОС-овская совсем, а UTF-8 какой-нибудь ?


--------------------
user posted image
PM MAIL WWW   Вверх
Softaz
Дата 21.11.2006, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


wasm
**


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

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



Цитата(Bog d`An @  19.11.2006,  19:02 Найти цитируемый пост)
или создать процесс cmd с перенаправлением ввода-вывода. Соответственно - net send и т.д.

Елки зеленые... да не cmd.exe тебе надо перехватывать, а net.exe smile 

Код

            Process myProcess = new Process();
            ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("net.exe");
            myProcessStartInfo.CreateNoWindow = false;
            myProcessStartInfo.Arguments = @"send * Hello";// передаем всем пользователям раб групп
            myProcessStartInfo.UseShellExecute = false;
            myProcessStartInfo.RedirectStandardOutput = true;
            myProcess.StartInfo = myProcessStartInfo;
            myProcess.Start();
            StreamReader myStreamReader = myProcess.StandardOutput;
            // Read the standard output of the spawned process.    
            string myString = myStreamReader.ReadToEnd();// читать до конца    
            try
            {
                textBox1.AppendText(Encoding.UTF8.GetString(Encoding.Convert(Encoding.GetEncoding(866), Encoding.UTF8, Encoding.Default.GetBytes(myString))));
            }
            catch (NotSupportedException)
            {
                textBox1.AppendText("Ошибка");
            }
            myProcess.Close();




Это сообщение отредактировал(а) Softaz - 21.11.2006, 23:58


--------------------
Разочарованный в .NET
PM MAIL WWW   Вверх
Gelis
Дата 22.11.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Нужно было в конструкторе указать, что данные в DOS-кодировке.
У меня все получилось с.о.
 
Код

StreamReader myStreamReader = new StreamReader(myProcess.StandardOutput.BaseStream,Encoding.GetEncoding(866));
string originalText=myStreamReader.ReadLine();
textBox1.Text=originalText;

PM MAIL   Вверх
Bog d`An
Дата 24.11.2006, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Всем спасибо!
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




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


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

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