Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: CMD.EXE Добавлено: 23.08.07 12:15  

Автор вопроса:  KreAtoR
Люди помогите пожалуйста. В VB6 деалется Консоль API хотя мне надо cmd.exe Открыть эexe не составляет никаких проблем
shell "C:\windows\system32\cmd.exe"
и все. Проблема заключается в следующем. Я никак не могу записать туда строку, например ipconfig чтоб он вывел мне мой IP адрес.

Помогите плиз очень прошу.

Ответить

  Ответы Всего ответов: 23  

Номер ответа: 1
Автор ответа:
 el-paso



Вопросов: 0
Ответов: 56
 Профиль | | #1 Добавлено: 23.08.07 12:42
Догадываюсь, что после массы извращений следующим вопросом будет как обработать вывод команды ipconfig... :)

Не проще ли с помощью API или через контрол Winsock определить свой IP?

Ответить

Номер ответа: 2
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #2 Добавлено: 23.08.07 12:49
2KreAtoR
Вот один из способов:
1. Запусти коммандную строку.
2. Жди появления окна (API-функция WaitForSingleObject, или как-то так)
3. Активируй окно через AppActivate или API-функцию SetForegroundWindow.
4. Отправляй активному окну текст через SendKeys.

Ответить

Номер ответа: 3
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #3 Добавлено: 23.08.07 12:53
+ В конце каждой команды
SendKeys "{ENTER}"

Ответить

Номер ответа: 4
Автор ответа:
 el-paso



Вопросов: 0
Ответов: 56
 Профиль | | #4 Добавлено: 23.08.07 13:37
Ну воо.. %) Вот и извращения пошли...

Ответить

Номер ответа: 5
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #5 Добавлено: 23.08.07 14:08
2el-paso
Уламываем KreAtoR'а на использование API'шной консоли! :)

2KreAtoR
На заметку: в API'шной консоли можно отлавливать ответы команд. Например, тот-же ipconfig.exe

Ответить

Номер ответа: 6
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #6 Добавлено: 23.08.07 14:14
да мне если честно не ip надо. это просто к примеру.
Моя задача, сделать программу, которая при запуске exe открывала консоль. выводила переменные из Registry и закрывалась.

Я начал это делать, но пришел к выводу что надо cmd.exe использовать и в нем писать. тоесть API Console не подходит для этого. Тоесть надо такие команды как cd чтоб могла выполнять или еще чтонить.

2.Arcady а ты можешь примерчик дать к этим 4 шагам, было бы очень классно наглядно посмотреть.

Ответить

Номер ответа: 7
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #7 Добавлено: 23.08.07 14:14
да мне если честно не ip надо. это просто к примеру.
Моя задача, сделать программу, которая при запуске exe открывала консоль. выводила переменные из Registry и закрывалась.

Я начал это делать, но пришел к выводу что надо cmd.exe использовать и в нем писать. тоесть API Console не подходит для этого. Тоесть надо такие команды как cd чтоб могла выполнять или еще чтонить.

2.Arcady а ты можешь примерчик дать к этим 4 шагам, было бы очень классно наглядно посмотреть.

Ответить

Номер ответа: 8
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #8 Добавлено: 23.08.07 14:16
да уламывайте, без проблем. Если я через API консоль сделаю тоже самое, то ок. а пока после SenkKeys у меня прога зависает.

Ответить

Номер ответа: 9
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #9 Добавлено: 23.08.07 14:41
http://vbnet.ru/forum/show.aspx?id=150871

Ответить

Номер ответа: 10
Автор ответа:
 el-paso



Вопросов: 0
Ответов: 56
 Профиль | | #10 Добавлено: 23.08.07 15:57
А я, простите, все-таки позанудствую... :)

Как я понял, целью открытия консольного окна является вывод неких переменных из Регистра? Я - ламо, знаю.. Но объясните, зачем? :))

Ответить

Номер ответа: 11
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #11 Добавлено: 23.08.07 16:29
2KreAtoR
Скажи, твоя программа должна дать одну команду консоле и после этого закрыться? Если да, то запускай консоль с параметрами. ("[путь к cmd.exe]" /K [имя exe-файла] [параметры])

Ответить

Номер ответа: 12
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #12 Добавлено: 23.08.07 18:27
2el-paso

Как я понял, целью открытия консольного окна является вывод неких переменных из Регистра? Я - ламо, знаю.. Но объясните, зачем?


да из регистра. Если я смогу сделать ipconfig то и смогу сделать и это. А в принципе прога должна скопировать переменную из регистра и настроить при помощи этих переменных другую программу, которую я могу настроить, но если только доберусь до консоли. Вот, а как зайти в нее я незнаю, вот и прошу дать примерчик, чтоб выучить и запомнить. А почему и нет?

2Arcady

да в данном случае мне нужно чтоб открылась консоль, туда было написано,ipconfig и "TestText" после чего подождать нажатия на кнопку а потом закрыться.

...

Теоретически я уже сделал консоль о которой говорил через API, но на тесте у меня прога при обработке SendKeys "{ENTER}" виснет. В принципе могу открыть cmd.exe но написать там ничего не могу.

Ответить

Номер ответа: 13
Автор ответа:
 el-paso



Вопросов: 0
Ответов: 56
 Профиль | | #13 Добавлено: 23.08.07 18:53
Наконец-то, задача становится более понятной...

Но вопросы все равно остаются:

1) Зачем использовать консоль для извлечения данных из Регистра, если это же самое можно сделать (и легче сделать) через API функции?

2) Зачем использовать консоль для запуска конфигурирующей программы, если можно использовать тот же Shell (даже если конфигурирование заключается в передаче некоторых особых параметров)?

Еще раз прошу прощения за занудство.. Я не со зла, честно..

Ответить

Номер ответа: 14
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #14 Добавлено: 23.08.07 20:04
Сформируй программно bat файл и запусти обычным Shell'ом.

Получить данные выводимые в эту консоль проще всего через промежуточный файл. Берёшь в консоле пишешь например

ipconfig > C:\1.txt

а потом просто программно читаешь 1.txt

Ответить

Номер ответа: 15
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #15 Добавлено: 24.08.07 10:21
2HACKER
должен быть exe файл. Я тоже сначала о bat подумал.
а за .txt спасибо, незнал, пригодится, сенкс.

2el-paso
да не важно что да как, главное чтоб в cmd.exe я мог написать хотя бы Hello World. Неважно что.
ну или cd C:\ главное туда что нить написать...

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам