crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

bigory
  опции профиля:
сообщение 3.11.2010, 22:04
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 10.10.2010
Пользователь №: 2099

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем доброе время суток!
Здесь я оставлял код программы, которой я откопал http://www.forum.crossplatform.ru/index.ph...ost&p=42317
Мне нужно эту программу передалать для невидимой формы, т.е. там нет кнопок, но работать должна также, но только выводить результаты ответа консоля в переменные а и b.
Вот мои проделки:
(Я знаю что очень "грязно", но у меня пока задача добиться правильного получения результатов)
#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //это, допустим, параметры функции
    const char* user="Администратор";
    const char* pass="123";

    //тут собираем строку
    std::string s;

    s+="net user ";
    s+=user;
    s+=" ";
    s+=pass;

    setError(false);
    QString prog="C:\\WINDOWS\\system32\\cmd.exe";
    QProcess myProc;
    myProc.start(prog);
    if(myProc.waitForStarted()){}
    else setError(true);
    QString S;
    for(int i=0;s[i]!=0;i++)S[i]=s[i];
    if(Error==false)
    {
        if(myProc.write(S.toAscii())!=-1){};
    }

    connect(&myProc,SIGNAL(readyReadStandardOutput()),this,SLOT(showOutput()));
    connect(&myProc,SIGNAL(readyReadStandardError()),this,SLOT(showOutput()));
}

void Widget::setError(bool mod)
{
        Error = mod;
}

void Widget::showOutput()
{
    QString a,b;
    b=QString::fromLocal8Bit(myProc.readAllStandardOutput());
    a=QString::fromLocal8Bit(myProc.readAllStandardError());
    // te.append(QString::fromLocal8Bit(myProc.readAllStandardError()));
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
bigory
  опции профиля:
сообщение 4.11.2010, 19:17
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 10.10.2010
Пользователь №: 2099

Спасибо сказали: 0 раз(а)




Репутация:   0  


Я бы с удовольствием перешел на ВинАПИ, но дело в том, что этот клиент мне нужно сделать универсальным, так как он может стоять на разных ОС. Писать 3 разных клиента слишком нуторно и долго. Пока я только пытаюсь это реализовать под винду, а потом на его основе все остальное. Как только все будет готово, буду адаптировать каждый клиент конкретно под ОС.
Если есть способ решения этой проблемы более эффективный, то буду очень рад это рассмотреть. Желательно чтобы еще небыло проблем связи с сервером, который тоже пишется на Qt и который тоже может стоять на любой ОС

Цитата(Алексей1153 @ 4.11.2010, 18:59) *
при чём тут слот ?


А как мне вызывать setStandardInputFile ( const QString & fileName ) и QProcess::setStandardOutputFile ( const QString & fileName, OpenMode mode = Truncate )?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- bigory   Готовое подделать под себя   3.11.2010, 22:04
- - Алексей1153   вот это QString S; for(int i=0;s[i]...   3.11.2010, 22:31
- - BRE   От "невидимых" форм нужно отказаться сра...   3.11.2010, 22:33
- - bigory   Цитата(BRE @ 3.11.2010, 22:33) От "н...   3.11.2010, 22:48
|- - BRE   Цитата(bigory @ 3.11.2010, 22:48) Ладно, ...   3.11.2010, 22:54
- - bigory   Цитата(BRE @ 3.11.2010, 22:54) Ну так mai...   4.11.2010, 13:12
- - BRE   Цитата(bigory @ 3.11.2010, 22:04) Мне нуж...   4.11.2010, 13:27
- - bigory   Цитата(Алексей1153 @ 3.11.2010, 22:31) От...   4.11.2010, 13:39
- - bigory   Неужели никто не знает как это делать???   4.11.2010, 16:09
- - Алексей1153   bigory, отчего ж не знать. #include <QtGui/QAp...   4.11.2010, 16:11
- - bigory   Цитата(Алексей1153 @ 4.11.2010, 16:11) bi...   4.11.2010, 16:21
- - Алексей1153   консоль, кстати, женского рода. а зачем эта ссылк...   4.11.2010, 16:32
- - bigory   Уж если и это будет непонятно, я стреляюсь Не ...   4.11.2010, 17:01
- - Алексей1153   что означает "клиент получает сообщение от ко...   4.11.2010, 18:46
- - bigory   Воо, уже ближе. Револьвер в сторонке))) Можно ли э...   4.11.2010, 18:53
- - Алексей1153   Единственное - чёта не могу найти, как скрыть конс...   4.11.2010, 18:59
- - bigory   Я бы с удовольствием перешел на ВинАПИ, но дело в ...   4.11.2010, 19:17
- - Алексей1153   bigory, если речь идёт про net.exe или cmd.exe, то...   4.11.2010, 19:27
- - BRE   Для чего эти переопределения? В документации по QP...   4.11.2010, 19:33
- - Алексей1153   BRE, я же не использовал (в Qt), я только справку ...   4.11.2010, 19:36
- - bigory   Вот уже что-то скомкал, но выводит не совсем то, ч...   4.11.2010, 21:04
- - Litkevich Yuriy   Цитата(Алексей1153 @ 4.11.2010, 20:11) QA...   4.11.2010, 21:07
- - BRE   int main(...) { QString user="Админис...   4.11.2010, 21:21
- - bigory   Все, докопался) Спасибо всем Вам за помощь!   4.11.2010, 22:14
- - Алексей1153   Цитата(Litkevich Yuriy @ 4.11.2010, 23:07...   4.11.2010, 23:50


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.7.2025, 7:11