Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Van111
214 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,816
Записей в блоге: 12
1

процесс с новым потоком

20.11.2011, 15:01. Просмотров 272. Ответов 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
#include "windows.h"
DWORD WINAPI ThreadFunc(LPVOID lpParam)
 
{
char szMsg[80];
 
wsprintf(szMsg, "Parameter = %d", *(DWORD*)lpParam);
Sleep(5000);
MessageBox( NULL, szMsg, " ThreadFunc", MB_OK );
 
 
return 0;
 
}
 
 
int main(  )
 
{
 DWORD dwThreadId, dwThrdParam = 1;
 
HANDLE hThread;
 
hThread = CreateThread(
 
NULL,         // àòðèáóòû áåçîïàñíîñòè ïî óìîë÷àíèþ
 
0,            // ðàçìåð ñòåêà èñïîëüçóåòñÿ ïî óìîë÷àíèþ
 
ThreadFunc,   // ôóíêöèÿ ïîòîêà
 
&dwThrdParam, // àðãóìåíò ôóíêöèè ïîòîêà
 
0,            // ôëàæêè ñîçäàíèÿ èñïîëüçóþòñÿ ïî óìîë÷àíèþ
 
&dwThreadId); // âîçâðàùàåò èäåíòèôèêàòîð ïîòîêà
 
 
 
STARTUPINFO si;
 
PROCESS_INFORMATION pi;
pi.dwThreadId= dwThreadId;
pi.hThread=hThread;
pi.hProcess=0;
pi.dwProcessId=0;
ZeroMemory( &si, sizeof(si) );
 
si.cb = sizeof(si);
 
ZeroMemory( &pi, sizeof(pi) );
 
// Çàïóñòèì äî÷åðíèé ïðîöåññ.
 
if( !CreateProcess( NULL, // Íåò èìåíè ìîäóëÿ (èñïîëüçóåòñÿ êîìàíäíàÿ ñòðîêà).
 
"MyChildProcess",     // Êîìàíäíàÿ ñòðîêà.
 
NULL,                 // Äåñêðèïòîð ïðîöåññà íå íàñëåäóåìûé.
 
NULL,                 // Äåñêðèïòîð ïîòîêà íå íàñëåäóåìûé.
 
FALSE,                // Óñòàíîâèì íàñëåäîâàíèå äåñêðèïòîðà â FALSE.
 
0,                    // Ôëàæêîâ ñîçäàíèÿ íåò.
 
NULL,                 // Èñïîëüçóéòå áëîê êîíôèãóðàöèè ðîäèòåëÿ.
 
NULL,                 // Èñïîëüçóéòå ñòàðòîâûé êàòàëîã ðîäèòåëÿ.
 
&si,                  // Óêàçàòåëü íà ñòðóêòóðó STARTUPINFO.
 
&pi )                 // Óêàçàòåëü íà ñòðóêòóðó PROCESS_INFORMATION.
 
)
 
 
// Æäàòü äî òåõ ïîð, ïîêà äî÷åðíèé ïðîöåññ íå âûéäåò èç ðàáîòû.
 Sleep(2000);
 
// Çàêðîåì äåñêðèïòîðû ïðîöåññà è ïîòîêà.
 
CloseHandle( pi.hProcess );
 
CloseHandle( pi.hThread );
 Sleep(20000);
 
 return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2011, 15:01
Ответы с готовыми решениями:

Процесс А инициализирует массив случайными значениями и записывает их в файл, а затем запускает процесс Б
В универ нужно сделать лабу по выше указанной теме. Мне не нужно чтобы за меня делали - нужен...

работа с потоком
есть текстовый файл с примерно таким сожержанием: 1 5 test 2 9 111 22 12 99 proverka 10 1 1 23...

Дозапись потоком
Есть файл, в нём уже чтото записано, но открытого потока к нему нет. Можно ли открыть поток на...

Работа с потоком cin
Есть ситуация. Нужно проверить, есть ли в потоке cin какие либо символы, исходя из этого сделать...

Потоком из файла в структуру
В общем у меня есть задание: Прочитать из текстового файла строку и записать её в структуру. В...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2011, 15:01

задача с файловым потоком
Дан текстовый файл, содержащий программу на языке Си. Проверить эту про-грамму на соответствие...

Работа с файловым потоком
Всем привет. После того как я познакомился с понятием поток приступил к практической части. В...

Переворот рисунка потоком
Ребят, подскажите с чего начать? Нужно загрузить изображение и перевернуть его потоком. При этом...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.