crossplatform.ru

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


  Ответ в Работа с командной строкой
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
kwisp Дата 30.10.2010, 0:28
  вопрос не имеет отношение у Qt
Игорь Дата 30.10.2010, 0:14
  Вот пытался передать переменные в system, но после компиляции программа аварийно вылетает

#include "mainwindow.h"
#include <QProcess>
#include <string.h>

int main(int argc, char *argv[])
{
    const char user[]="Администратор";
    char* qwe1;
    strcat(qwe1,"net user ");
    strcat(qwe1,user);

    system(qwe1);

    return 0;
}


Проге не нравиться вот это "const char user[]="Администратор";" Что не так?
Игорь Дата 29.10.2010, 22:40
  Спасибо, обязательно поищу.
Еще один вопрос, можно ли передать переменную в system()?

Мне нужно набрать в командной строке для просмотра информации о пользователе "net user [Имя учетной записи]"
Мне нужно из переменной "Имя учетной записи" вставить продолжение команды. Как это сделать?
Litkevich Yuriy Дата 29.10.2010, 21:51
  смысл такой, создаёшь процесс, например, с командой dir. Затем читаешь из стандартного потока вывода этого процесса и пишешь в стандартный поток ввода этого же процесса. Это будет равносильно сиденью в одной и той же консоли.

Работа с QProcess освещалась на форуме, поищи и почитай
Игорь Дата 29.10.2010, 21:46
 
Цитата(alex977 @ 29.10.2010, 21:39) *
А создать bat-файл и вызывать на выполнение уже его никак нельзя?


Мне нужно написать программу клиент, который по команде сервера делает настройки системы, удаляет ненужные файлы и прочее. Помимо связи с сервером, она должна быть еще и невидимой.
С невидимостью я разобрался, со связью с сервером разобраться не сложно, осталось только понять как как отвечать на вопросы, которые может задавать консоль и передавать в качестве переменных сообщения, которые выводит консоль.

В этом случаю *.bat ну никак не подойдет
alex977 Дата 29.10.2010, 21:39
  А создать bat-файл и вызывать на выполнение уже его никак нельзя?
Игорь Дата 29.10.2010, 21:31
  Мне надо выполнить несколько операций без вмешательств пользователя и получить в переменную что выводит консоль
Алексей1153 Дата 29.10.2010, 21:24
  Игорь, ты уж определись, тебе надо одну команду выполнить или консоль открыть и там работать
Игорь Дата 29.10.2010, 21:22
  system("dir&&who&&ls&&read"); Сработало,но и сразу же наткнулся на следующую проблему, а как отвечать на запросы?
То есть если в командной строке надо ввести какое-то имя файла или ответить Y или N, то как и это выполнить программно?
Алексей1153 Дата 29.10.2010, 21:22
  BRE, класс ))

system("dir&&pause"); - это тоже работает
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 16:37