Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 22

Не завершается последний поток по истечению времени

17.02.2014, 19:50. Показов 386. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть задачи была в том,чтобы запустить несколько программ и если она не укладывалась в отведенное время,то программа должна завершаться.Путь к программе и время считывается из файла.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream>
#include <Windows.h>
#include <fstream>
#include <string>
#include <sstream>
#include <iomanip>
using namespace std;
 
struct process{
    string name;
    int time;
    bool wait_for_;
};
process pr[30];
string str;
int cont=0;
 
void write()
{   int i=0;
    int n=0;
    ifstream f("task.txt");
    if (f.is_open())
    {
        
        cout<<"открыт"<<endl;
        
        while(f.peek()!=EOF)
    {       
        
         f>>pr[i].name;
        f>>pr[i].time;
        pr[i].wait_for_=true;
        i++;
        cont++;
}
 
    }
    
    else cout<<"файл не открыт"<<endl;
    f.close();
    
 
}
void proc()
{
 
    for (int i = 0; i < cont; i++){
        cout<<"врем€ "<<pr[i].time<<endl;
        cout<<pr[i].name<<endl;
        cout<<"процесс идет"<<endl;
        STARTUPINFO si = { sizeof(si) };
        PROCESS_INFORMATION pi;
        string str = string(pr[i].name);
        LPCSTR str_ = str.c_str();
        if (CreateProcess(str_, NULL, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi))
        {
            CloseHandle(pi.hThread);
            if (WaitForSingleObject(pi.hProcess, pr[i].time * 1000) == WAIT_TIMEOUT)
            {
                TerminateProcess(pi.hProcess, 0);
                CloseHandle(pi.hThread);
                pr[i].wait_for_ = false;
            }
            CloseHandle(pi.hProcess);
        }
    }
 
}
int main()
{
    setlocale(0, "rus");
        
     write();
     proc();
    system("pause");
    cout << "»тогова€ таблица" << endl;
    cout << "   ѕроцесс       | ¬ыделенное врем€ | »тог  " << endl;
    for (int i = 0; i < cont; i++){
        cout << pr[i].name;
        cout << " " << setw(7) << pr[i].time << " секунд(ы)";
        if (pr[i].wait_for_==false)
            cout  << " " << setw(10) << "не успел";
        else cout << " " << setw(10)  << "успел";
        cout << endl;
    }
 
 
    
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.02.2014, 19:50
Ответы с готовыми решениями:

Действия по истечению времени
Делаю лабу, во скрин с РадиоБатан все понятно, то не могу понять как сделать так что бы после того как пользователь выбрал дату и ввел...

Не завершается поток
procedure TPotok.Execute; begin for i:=0 to Form1.sMemo1.Lines.Count-1 do begin repeat try ...

Не завершается поток
Здравствуйте, такая у меня проблема проблема. Есть метод: static void Function() { do { ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.02.2014, 19:50
Помогаю со студенческими работами здесь

Добавить год по истечению времени
Здравствуйте, подскажите пожалуйста как прибавить каждый раз один год к дате2 как только дата2 станет меньшей даты1 по истечению времени? ...

Удаление элемента по истечению времени
Здравствуйте , я пытаюсь сделать систему уведомлений , у меня есть контейнер &lt;div class=&quot;jumbotron&quot;...

Закрытие сайта по истечению времени
Приветствую вас друзья! Готовлю сайт для заказчика, доменное имя и хостинг будет его, хочу придумать &quot;защиту&quot; на случай...

По истечению времени выполнять действия
Всем привет!) Как сделать, чтобы по истечению 20 минут (или любого другого времени) выполнять какие либо действия? Например,...

Не завершается поток на клиенте
Всем доброго времени суток, возникла проблема: &quot;поток заканчивает работу в непонятном месте&quot; Есть сервер TCP, своего окна не имеет,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru