-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathLesson_2_3_practice
More file actions
32 lines (28 loc) · 3.2 KB
/
Lesson_2_3_practice
File metadata and controls
32 lines (28 loc) · 3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
На базе Lesson_3_waiter создать приложение, которое запускается и выводит в консоль информацию о текущей директории, переменной окружения MY_ENV_VAR и полный путь к исполняемому файлу. После каждого нажатия на Enter программа выведет в консоль MY_ENV_VAR=<значение> и не завершается.
После компиляции создать несколько копий *.exe файлов и скопировать их в разные под разными именами
На базе lesson_3 создать менеджер процессов.
0. программа запрашивает у пользователя желаемое действие - создание или завершение процесса
Если выбрано создание:
1. программа запрашивет у пользователя путь к исполняемуму файлу, который нужно запустить
2. пользователь вводит полный пуль к файлу (C:\\some_dir\Lesson_3_waiter.exe)
3. Программа запрашивает аргументы с которыми нужно запустить дочерний процесс
4. пользователь через пробел вводит аргументы
5. Программа предлагает пользователю установить значение переменной окружения MY_ENV_VAR
6. пользователь вводит значение
7. Программа переспрашивает все ли верно
You want to start C:\\some_dir\Lesson_3_waiter.exe with arguments "first_arg" "second_arg" "third_arg" and set MY_ENV_VAR=<значение> ? y/n
8. если пользователь нажимает 'n' возвращаемся к п.1
9. Если пользователь ввел 'y', программа устанавливает переменную окружения, создает процесс с правильной командной строкой
10. возвращает пользователю идентификатор процесса и возвращается в п.0. Подумайте о том какой идентификатор должен возвращаться пользователю.
Если выбрано завершение:
1. Программа запрашивает у пользователя идентификатор процесса выданны ранее
2. Пользователь вводит идентификатор
3. Программа сообщает о успешном и не успешном завершении процесса и возвращается в п.0
При создании процесса передаейте в аргументе dwCreationFlags значение CREATE_NEW_CONSOLE
Функции WinAPI, которые вероятно понадобятся (описание см. в документации)
GetEnvironmentVariable
SetEnvironmentVariable
TerminateProcess
GetCurrentDirectory
GetModuleFileName
CreateProcess