Как удаленно управлять процессом cmd.exe в C # - PullRequest
0 голосов
/ 17 августа 2011

Я действительно застрял с проблемой (в течение 7 дней), и прежде чем сойти с ума, я подумал, что просто попрошу совета.

Хочу, чтобы я хотел сделать, это в основном для запуска и дистанционного управленияпроцесс cmd.exe.Однако потоки StandardInput и StandardOutput не выполняют эту работу, так как они не запускаются командами типа «mysql», которые ожидают пользовательского ввода.

Поэтому все, что я хочу, - это прочитать содержимое cmd.exe консоль и пиши в нее.Однако метод write должен быть в состоянии запустить новую команду.

Я много пробовал, и я вполне уверен, что kernel32.dll добьется цели:

  • ReadConsoleOutput ()
  • WriteConsoleInput ()
  • GetConsoleScreenBufferInfo ()
  • SetConsoleCursorPosition ()

Конечно, у меня уже есть кое-что работающее, но я абсолютноне уверен, выбрал ли я правильный путь.Поэтому я не буду публиковать какой-либо код, потому что он, вероятно, просто запутает вас.

Было бы замечательно, если бы кто-то мог указать мне на рабочую демонстрацию или учебник или что-то в этом роде.Даже если это C ++ или C - было бы лучше, чем ничего.

Заранее спасибо.

Mewes Kochheim

PS: Пожалуйста, не оставляйте только ссылку на pinvoke илиMSDN, что мне нужно, немного сложнее.И мне кажется, что у меня недостаточно опыта работы с Winapi, чтобы самому заняться этим: /

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

1 Ответ

0 голосов
/ 17 августа 2011

здесь вы найдете несколько примеров, касающихся "удаленного управления командной строкой" ...

другой ссылка (.NET на этот раз из stackoverflow) ...

и что-то из журнала visualstudio ...

...