Форум программистов, компьютерный форум CyberForum.ru

Программный запуск командной строки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 50, средняя оценка - 4.66
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
23.06.2011, 22:58     Программный запуск командной строки #1
Здравствуйте.

Как сделать так, чтобы при запуске программа открывала командную строку, прописывала там что-нибудь и "нажимала" Enter?

Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
23.06.2011, 23:04     Программный запуск командной строки #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
#include <stdlib.h>
...
system("прописывала там что-нибудь");
...
а энтер сам нажмётся.
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
23.06.2011, 23:09  [ТС]     Программный запуск командной строки #3
Спасибо.
А можно как-то сделать так, чтобы консоль в трей сворачивалась?
lvlkoo
24.06.2011, 00:04
  #4

Не по теме:

Чувствую злые замыслы

OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
24.06.2011, 02:21     Программный запуск командной строки #5
vortexx1,
C
1
2
Hide = FindWindowA("ConsoleWindowClass", NULL);
ShowWindow(Hide,0);
правда, не в трей а вообще скрывается.
вам осталось только объявить Hide
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
24.06.2011, 15:08  [ТС]     Программный запуск командной строки #6
объявить Hide
то есть?

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdlib.h>
#include <windows.h>
 
int main()
{
    system("...");
    
    Hide = FindWindowA("ConsoleWindowClass", NULL);
    ShowWindow(Hide,0);
 
    return 0;
}
У меня это вообще не компилируется. Что не так?
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
24.06.2011, 15:44     Программный запуск командной строки #7
vortexx1, разумеется это не будет компилироваться. переменная Hide не объявлена.
………………..,-~*’`¯lllllll`*~,
…………..,-~*`lllllllllllllllllllllllllll¯`*-,
………,-~*llllllllllllllllllllllllllllllllllllllllllll*-,
……,-*llllllllllllllllllllllllllllllllllllllllllllllllllllll.\
….;*`lllllllllllllllllllllllllll,-~*~-,llllllllllllllllllll\
…..\lllllllllllllllllllllllllll/………\;;;;llllllllllll,-`~-,
……\lllllllllllllllllllll,-*………..`~-~-,…(.(¯`*,`,
…….\llllllllllll,-~*…………………)_-\..*`*;..)
……..\,-*`¯,*`)…………,-~*`~.……………/
………|/…/…/~,……-~*,-~*`;……………./.\
……../…/…/…/..,-,..*~,.`*~*…………….*…\
…….|…/…/…/.*`…\………………………)….)¯`~,
…….|./…/…./…….)……,.)`*~-,…………/….|..)…`~-,
……/./…/…,*`-,…..`-,…*`….,---……\…./…../..|………¯```*~-
……(……….)`*~-,….`*`.,-~*.,-*……|…/.…/…/…………\
…….*-,…….`*-,…`~,..``.,,,-*……….|.,*…,*…|……\
……….*,………`-,…)-,…………..,-*`…,-*….(`-,…
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
24.06.2011, 15:52     Программный запуск командной строки #8
C++
1
system("ping 127.0.0.1");
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
24.06.2011, 16:39  [ТС]     Программный запуск командной строки #9
Объявлять как обычную переменную?
Если да, то какого типа?
DigsiL
9 / 9 / 1
Регистрация: 14.01.2011
Сообщений: 113
24.06.2011, 16:44     Программный запуск командной строки #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от vortexx1 Посмотреть сообщение
Здравствуйте.

Как сделать так, чтобы при запуске программа открывала командную строку, прописывала там что-нибудь и "нажимала" Enter?

Спасибо.
Щита что для вас подойдет функция WinExec()
вот её описание :

SW_HIDE Окно в скрытом режиме.
SW_MAXIMIZE Окно максимального размера
SW_MINIMIZE Окно находится в свернутом виде, активируется следующее верхнее окно в Z последовательности.
SW_RESTORE Активирует и показывает окно. Если окно свернуто или развернуто, Windows восстанавливает его к первоначальному размеру и позиции. Приложение должно определить этот флаг при восстановлении свернутого окна.
SW_SHOW Активирует окно и выводит его в текущих размерах и позиции.
SW_SHOWMAXIMIZED Активирует и показывает окно в развернутом виде.
SW_SHOWMINIMIZED Активирует и показывает окно в свернутом виде.
SW_SHOWMINNOACTIVE Отображает окно в свернутом виде. Активное окно остается активным.
SW_SHOWNA Отображает окно в текущем состоянии. Активное окно остается активным.
W_SHOWNORMAL Активирует и показывает окно. Если окно свернуто или развернуто, Windows восстанавливает его к первоначальному размеру и позиции. Приложение должно определить этот флаг при показе окна в первый раз.

Пример её использования
C
1
WinExec("C:\\WINDOWS\\NOTEPAD.EXE",SW_MAXIMIZE);
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
24.06.2011, 16:52     Программный запуск командной строки #11
vortexx1, так вот это ТЫ мне должен сказать какого типа!
скажи пожалуйста, как ты вообще собираешься что нибудь делать сам?
любой РАЗУМНЫЙ человек найдет ответ на этот вопрос за 10 секунд даже не буду говорить где.
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
24.06.2011, 17:24  [ТС]     Программный запуск командной строки #12
C++
1
2
3
4
5
6
7
8
9
10
#include <stdlib.h>
#include <windows.h>
 
int main()
{
    WinExec("C:\\WINDOWS\\SYSTEM32\\CMD.EXE", SW_HIDE);
    system ("...");
    
    return 0;
}

Что-то не хочет ничего никуда прятать...
DigsiL
9 / 9 / 1
Регистрация: 14.01.2011
Сообщений: 113
24.06.2011, 17:30     Программный запуск командной строки #13
Цитата Сообщение от vortexx1 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
#include <stdlib.h>
#include <windows.h>
 
int main()
{
    WinExec("C:\\WINDOWS\\SYSTEM32\\CMD.EXE", SW_HIDE);
    system ("...");
    
    return 0;
}

Что-то не хочет ничего никуда прятать...
Ок держи тогда готовый код
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <windows.h>
void Hide()
{
  HWND Hide;
  AllocConsole();
  Hide = FindWindowA("ConsoleWindowClass", NULL);
  ShowWindow(Hide,0);
}
void  main()
{
    Hide();
    system("cmd");
}
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
24.06.2011, 18:13  [ТС]     Программный запуск командной строки #14
DigsiL, не компилирует, говорит, что "main must return int".
Меняю "void main" на "int main", тоже не работает, говорит, что "Permission denied, ld returned 1 exit status".
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2011, 18:51     Программный запуск командной строки
Еще ссылки по теме:

C++ Запуск программы с параметрами с командной строки
Запуск командной строки VS из конкретного каталога C++
Запуск в командной строке C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
lvlkoo
.NET C#,ASP.NET MVC
 Аватар для lvlkoo
302 / 258 / 89
Регистрация: 16.10.2010
Сообщений: 1,163
Завершенные тесты: 1
24.06.2011, 18:51     Программный запуск командной строки #15
Если инт ставиш то и return соответствующий
EXIT_SUCCESS или целочисленное значение
Yandex
Объявления
24.06.2011, 18:51     Программный запуск командной строки
Ответ Создать тему
Опции темы

Текущее время: 17:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru