Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Командный интерпретатор для чайника  (Прочитано 6656 раз)
0 Пользователей и 1 Гость смотрят эту тему.
v.korleone
Помогающий

ua
Offline Offline

« : 26-02-2009 16:54 » 

Задача: создать в виде консольного приложения командный интерпретатор, который будет выводить на экран при нажатой кнопке ">" информацию о программе. Асинхронно запускает программу если в конце строки пути запуска исполняемого файла поставить символ "&" и запускает программу синхронно, если в конце строки пути запуска исполняемого файла стоит любой другой символ. Потом если пользователь вводит "exit" интерпретатор завершает работу, если комбинация клавиш Ctrl+C - завершает работу программа которую запустил интерпритатор.
Язык: С++
Вопрос_1: Каким образом можно "закодировать" клавиши (1 клавишу, затем 2, как в лучае с Ctrl+C) на определенное нажатие?
Вопрос_2: Как можно реализовать ввод строки пути к исполняемому файлу программы + запуск ехе файла?
« Последнее редактирование: 26-02-2009 18:13 от v.korleone » Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 26-02-2009 17:43 » 

1. Считывать всё, что приходит на ввод, и реагировать на определённые сочетания. Ctrl+C придётся перехватывать отдельно - смотри функцию signal - нужно перехватывать SIGINT: http://www.cplusplus.com/reference/clibrary/csignal/signal.html
2. Запустить приложение можно функцией ShellExecute: https://forum.shelek.ru/index.php/topic,5211.0.html
Записан
v.korleone
Помогающий

ua
Offline Offline

« Ответ #2 : 26-02-2009 18:09 » 

Вад, спасибо. Думаю посмотрю синтаксис этой ф-и ShellExecute(m_hWnd,NULL,file,NULL,NULL,SW_SHOW) в МСДН, там вот что пишет: "Не найдены результаты для: ShellExecute(m_hWnd,NULL,file,NULL,NULL,SW_SHOW)"
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 26-02-2009 19:33 » 

http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx
Записан
v.korleone
Помогающий

ua
Offline Offline

« Ответ #4 : 27-02-2009 13:04 » 

Вад, благодарю за подсказки, все получилось (насчет того, что в МСДН нет ф-и, так это я в поиск вбивал ф-ю ShellExecute(m_hWnd,NULL,file,NULL,NULL,SW_SHOW, а не ShellExecute()). Тема закрыта.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines