ssh через QProcess

101
02 июня 2021, 03:50

Есть вот такой код :

QProcess* proc = new QProcess();  
proc->start("cmd.exe");
proc->write("ssh\n");
proc->closeWriteChannel();
proc->waitForFinished();
QTextCodec *codec = QTextCodec::codecForName("IBM 866");
ui->textEditNormal->setText(codec->toUnicode(proc->readAllStandardOutput()));
ui->textEditError->setText(codec->toUnicode(proc->readAllStandardError()));

В StandardError выдает :

"ssh" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Если повторяю все через консоль,то все нормально.

Как это исправить?

Answer 1

Проблема решилась.дело в том что QProcess вызывает cmd.exe из SysWOW64.Но по какой то причине(возможно из-за нехватки прав) он не видит ssh.exe внутри system32.Поэтому я вытащил ssh.exe из system32 в не папку Windows(ну и конечно с указанием абсолютного пути).Все работает.

READ ALSO
Проблемы с программой [закрыт]

Проблемы с программой [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

118
QLabel->setText(pointer)

QLabel->setText(pointer)

Допустим есть указатель на обьект класса Qt (например QPushButton *btn)Хочу выводить адрес, на который ссылается указатель, через QLabel на виджет

95
Приведение типов в стиле функций

Приведение типов в стиле функций

Не нашел нигде информацию для приведении типов в стиле вызова функций:

75