Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ WinAPI Дочерние потоки Всем привет, столкнулся с проблемой в дочерних потоках, нужно создать два дочерних потока и дождаться когда они завершаться, при этом первый поток должен считать сумму первых N натуральных чисел, а... https://www.cyberforum.ru/ win-api/ thread2376988.html C++ WinAPI Файловый менеджер
Здравствуйте, как написать файловый менеджер с такими командами: 1) Список файлов в каталоге (с возможностью сортировки) 2) Переход в каталог 3) Удаление файла по имени 4) Удаление файла по...
C++ WinAPI Дождаться отправки строки https://www.cyberforum.ru/ win-api/ thread2376159.html
Добрый день! В программе отправляются данные на устройство через com порт. И я хочу дождаться, когда всё отправится. Однако, если я жду событие EV_TXTEMPTY в WaitForSingleObject(ev,INFINITY), то...
C++ WinAPI Тестирование продуктивности дисковой подсистемы https://www.cyberforum.ru/ win-api/ thread2376081.html
Всем привет, такая проблема: Написать программу для измерения скорости чтения и записи с файла, чтение с раздела с диска, размер рабочего буфера 10МБ. Кому не сложно помогите.
RegSetValueEx не меняет значение в реестре C++ WinAPI
Здравствуйте. Нужно сделать приложение, которое будет отключать USB порты. Вроде разобрался в функциях, программа работает, ошибки не выдает. Но в реестре значение не меняется #include "pch.h"...
C++ WinAPI WinAPI ОЗУ Нужно вывести на экран количество занятой и свободной оперативной памяти используя функции WinAPI, я в этом деле не алё и интернет мне к сожалению ничего не дал. Подскажите пожалуйста как это... https://www.cyberforum.ru/ win-api/ thread2375718.html
C++ WinAPI Вывод текста по контуру окружности Добрый вечер всем! Не могу сделать вывод текста по контуру окружности. Фигуру нарисовал. Помогите вывести текст. Мб есть примеры? или какие-то идеи? https://www.cyberforum.ru/ win-api/ thread2375688.html C++ WinAPI DirectShow: "затирание" родительского окна
Всем привет. Юзаю этот пример воспроизведения видео используя DirectShow. Но вот проблема случилась. Решил добавить несколько кнопочек, для контроля воспроизведения. Но все кнопки, всё что...
C++ WinAPI Потоки https://www.cyberforum.ru/ win-api/ thread2375271.html
int counter=9000; DWORD WINAPI ThereadA(LPVOID p){ for (int i=0; i<10000; i++) counter ++;} DWORD WINAPI ThereadB (LPVOID p) { for(int i=0;i<10000;i++) counter—;} int main() { HANDLE...
C++ WinAPI Потоки https://www.cyberforum.ru/ win-api/ thread2375045.html
Здравствуйте. Начал изучать потоки и появилась необходимость передать результат работы потока в "основной поток". Для этого хочу передать в создаваемый новый поток указатель на функцию обратного...
Редактирование иконки C++ WinAPI
Стоит задача изменить изображение иконки, т.е. открыть иконку, нарисовать на ней красный квадратик, создать новый HICON и вывести на экран. Мой код: HICON icon = (HICON)LoadImage(NULL,...
C++ WinAPI Как работает WinINet? Использую WinINet чтобы скачивать страницы одного сайта,на сайте стоит защита от ддос атак и мой айпи адресс заблокировали ,так у меня возник вопрос : почему когда я подключаю ВПН у меня появляется... https://www.cyberforum.ru/ win-api/ thread2374052.html
0 / 0 / 0
Регистрация: 06.03.2018
Сообщений: 30
0

Получение кода завершения процесса - C++ WinAPI - Ответ 13178553

20.12.2018, 16:23. Показов 2140. Ответов 1
Метки (Все метки)

Здравствуйте, уважаемые форумчане, начал работать с WinAPI, написал такую небольшую программу.
Хотелось бы прояснить несколько деталей:
1) Правильно ли я завершаю процесс? или функции удаления дискрипторов нити и процесса не удаляют процесс полностью?
2) Правильно ли я получаю код окончания процесса?
Заранее спасибо
C++
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
33
34
35
#include <Windows.h>
#include <iostream>
 
int main() {
    setlocale(LC_ALL, "Rus");
    STARTUPINFO si; // Определяет местоположение окна, рабочий стол, стандартные дескрипторы и внешний вид главного окна для процесса во время создания
    PROCESS_INFORMATION pi; // Содержит информацию о процессе и его первичном потоке
    DWORD exitCode;  // код завершения DWORD = usigned long
    ZeroMemory(&si, sizeof(si));    // обнуления памяти в структуре, чтобы она не содержала мусор (так как мы почти ничто не инициализируем)
    si.cb = sizeof(si);
    TCHAR name[] = TEXT("cmd /c HelloWorld.exe"); // TCHAR, TEXT универсализируют строки
    char prog[] = "D:\\MyProjects\\2 курс\\HelloWorld\\Debug\\HelloWorld.exe";
    bool f = CreateProcess(prog, name, NULL, NULL, FALSE,
        0, NULL, NULL, &si, &pi); // пытаемся создать процесс
    if (f)
    {
        std::cout << "Процесс был создан\n";
        WaitForSingleObject(pi.hProcess, INFINITE);
        CloseHandle(pi.hThread); // закрываем дискерипторы первичного потока порожденного процесса
        if (GetExitCodeProcess(pi.hProcess, &exitCode) == true) // получаем код завершения процесса
        {
            std::cout << "Процесс завершился с кодом: " << exitCode << std::endl;
            CloseHandle(pi.hProcess); // закрываем дискрипторы порожденного процесса
        }
        else return 1;
    }
    else {
        int error = GetLastError();
        std::cout << "Создание нового процесса завершилось с ошибкой: " + error<< std::endl;
        system("pause");
        return 1;
    }
    system("pause");
    return 0;
}


Вернуться к обсуждению:
Получение кода завершения процесса C++ WinAPI
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2018, 16:23
Готовые ответы и решения:

Ожидание завершения дочернего процесса
Привет всем. Задание работы заключается в написании двух программ: главной и дочерней. Главная...

Ожидание завершения процесса установки
Привет. Я новичек в изучении программирования и сейчас занимаюсь написанием небольшой программы с...

Получить код завершения дочернего процесса
Можно ли в материнском процессе получить с каким кодом завершился дочерний процесс? Добавлено...

Использование функции SetTimer для завершения процесса
Прошу помощи в использовании данной функции. Нужно применить ее так, чтобы она закрывала процесс...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2018, 16:23
Помогаю со студенческими работами здесь

Защита от завершения одного процесса без другого
Добрый вечер. Нужна помощь в следующем вопросе у меня есть приложение zzz.exe я его запускаю с...

Создать процесс и продолжить работу, не ожидая завершения созданного процесса
эта программа работает: когда мы пишем (например) calc.exe,то программа открывает это приложение и...

Программа завершения процесса
Возможно ли написать программу, чтобы завершить процесс mail.ru agenta? Да, и если возможно, из...

Получение Pid процесса
Программа определяет размер и заполненность жесткого диска, название звуковой карты и выводит...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru