Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335

ShellExecute для открытия cmd

22.09.2013, 09:12. Показов 4739. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Каким образом можно открыть через ShellExecute cmd и запустить в нём "ping *.ru -t"? Просто запустить отдельно ping.exe не пойдет, ибо при ctrl+c он закрывается, а не останавливается, допустим, так:
C++
1
ShellExecuteA(NULL, NULL, "ping", "*.ru -t", NULL, SW_SHOWNORMAL);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.09.2013, 09:12
Ответы с готовыми решениями:

ShellExecute не предает параметры cmd.exe
Всем доброго времени суток. Все мучаюсь с функцией ShellExecuteA, пытаюсь передать параметр командной строке - но не как не получается, ...

ShellExecute и cmd.exe
Может быть (скорее всего), подобный вопрос уже обсуждался на этом форуме. Если так, прошу дать ссылку а не нести чушь всякую, типа гугл.ком...

ShellExecute и командная строка (cmd)
Доброго времени суток! Мне необходимо из командной строки отключить сетевую карту с помощью команды devcon.exe disable...

12
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
22.09.2013, 11:16
Посмотрите мой рабочий файл по запуску, там есть это

execute.cpp.zip
1
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
22.09.2013, 11:54  [ТС]
dmitry94, с "/C" параметром уже пытался делать. Получалось не очень, а именно - бесконечное открытие cmd. Приходилось перезагружаться >_<
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
22.09.2013, 12:10
C++
1
ShellExecute( NULL, NULL, "cmd", "/K ping 8.8.8.8 -t", NULL, SW_SHOWDEFAULT );
1
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
22.09.2013, 12:58  [ТС]
castaway, и у вас это работает? Не вызывает рекурсии?
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
22.09.2013, 13:33
Цитата Сообщение от nexen Посмотреть сообщение
dmitry94, с "/C" параметром уже пытался делать. Получалось не очень, а именно - бесконечное открытие cmd. Приходилось перезагружаться >_<
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main()
{
    wchar_t run_str[MAX_PATH],command[MAX_PATH];
    swprintf(run_str,L"/C \"c:\\windows\\system32\\ping.exe -t 192.168.1.1 & pause\"");
    swprintf(command,L"c:\\windows\\system32\\cmd.exe");
    
    ShellExecute(NULL, NULL, command, run_str, NULL, SW_SHOWNORMAL);
 
    return 0;
}
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
Обмен пакетами с 192.168.1.1 по с 32 байтами данных:
Ответ от 192.168.1.1: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.1: число байт=32 время<1мс TTL=64
Ответ от 192.168.1.1: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.1: число байт=32 время=1мс TTL=64
 
Статистика Ping для 192.168.1.1:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0
    (0% потерь)
Приблизительное время приема-передачи в мс:
    Минимальное = 0мсек, Максимальное = 1 мсек, Среднее = 0 мсек
Control-C
^CДля продолжения нажмите любую клавишу . . .
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
22.09.2013, 13:37
nexen, а с какой стати эта функция должна вызывать рекурсию!?
Да, и может ты будешь так любезен, и покажешь как её используешь!?
1
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
22.09.2013, 13:46  [ТС]
dmitry94, да, не закрывается само и не вызывает рекурсию (а почему? Из-за " & pause"? Что за конструкция такая?).
Но можно ли вызвать ping из cmd? Т.е. чтобы была та же реакция, будто я сам запустил cmd и ввел там команду ping?

Добавлено через 1 минуту
castaway, я уже как-то пытался сделать вызов ping через cmd. Получался эффект такой же, как в bat'нике написать "cmd".
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
22.09.2013, 13:54
Цитата Сообщение от nexen Посмотреть сообщение
castaway, я уже как-то пытался сделать вызов ping через cmd. Получался эффект такой же, как в bat'нике написать "cmd".
Я тебя не понял. 4-й пост отвечает на твой вопрос.
0
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
22.09.2013, 14:00  [ТС]
Цитата Сообщение от nexen Посмотреть сообщение
dmitry94, да, не закрывается само и не вызывает рекурсию (а почему? Из-за " & pause"? Что за конструкция такая?).
Но можно ли вызвать ping из cmd? Т.е. чтобы была та же реакция, будто я сам запустил cmd и ввел там команду ping?

Добавлено через 1 минуту
castaway, я уже как-то пытался сделать вызов ping через cmd. Получался эффект такой же, как в bat'нике написать "cmd".
И ещё как найти созданное при помощи ShellExecute окошко? Хотелось бы изменить его размеры
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
22.09.2013, 14:14
Цитата Сообщение от nexen Посмотреть сообщение
dmitry94, да, не закрывается само и не вызывает рекурсию (а почему? Из-за " & pause"? Что за конструкция такая?).
Сначала выполняется ping, затем pause, чтобы окно сразу не закрывалось.
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.09.2013, 11:34
Цитата Сообщение от dmitry94 Посмотреть сообщение
затем pause, чтобы окно сразу не закрывалось.
pause тут ни к чему. Окно после ping не закроется.
C++
1
ShellExecute( NULL, NULL, "cmd", "/K ping 8.8.8.8 -t", NULL, SW_SHOWDEFAULT );
Добавлено через 25 минут
Для справки:
/C Run Command and then terminate
/K Run Command and then return to the CMD prompt.
1
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
23.09.2013, 14:23  [ТС]
castaway, великолепно. Видать я что-то не то сделал в прошлый раз, чтобы рекурсию получить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.09.2013, 14:23
Помогаю со студенческими работами здесь

Диалог открытия файла в bat/cmd
Добрый день! Подскажите решения JS вставки отображения (и функционирования) диалога открытия файла (FileOpenDialog) для bat. Нашел...

Как осуществить через WinExec или ShellExecute копирование файла через cmd?
Народ как осуществить через WinExec или ShellExecute копирование файла через cmd??? в консоли все сложно может через батоны и едиты...

Формирование ссылки для ShellExecute
Помогите решить проблему если у неё есть решение. В коде формирую ссылку, для поиска в вк , передаю в ShellExecute AnsiString...

Не корректно работает гиперссылка для открытия файла в PhotoShop для редактирования
Всем доброго времени суток! Возникла проблемка с гиперссылкой в access. Дело в том, что при нажатии на нее мною подразумевалось...

Один ComboBox на всех формах для выбора любой из них для открытия
можно ли в одной программе на всех формах сделать один(общий) ComboBox, который перекидывал бы с формы на форму? Если можно, сделайте на...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru