Стартиране на дъщерни процеси
както и три допълнителни флага STARTF_FORCEONFEEDBACK, STARTF_FORCEOFFFEEDBACK и STARTF_SCREENSAVER.
1.4. детски процес
Създайте друго приложение.
Уверете се, че това приложение работи като дъщерен процес.
Подсказка: когато правите това, трябва да формирате пътя до изпълнимия файл на дъщерния процес =>
в CreateProcess() можете да посочите пътя (за предпочитане относителен)
1.5. Взаимодействие родител-дете чрез стандартно I/O пренасочване
Задача: в родителския процес създайте обект - файл и предайте този файл на дъщерния процес за запис като стандартен изходен поток. В дъщерния процес генерирайте текст и запишете този текст в изходния поток - в този случай всъщност записът ще се извърши във файл, отворен в родителския процес)
1)в родителския процесотворете файла (обектът трябва да енаследендъщерен процес. ). За да направите това, а) създайте и инициализирайте структурата SECURITY_ATTRIBUTES (обектът трябва да бъде наследен!) б) създайте файл с помощта на CreateFile
2) Създайте и инициализирайте структурата STARTUPINFO (Забележка: за създадения процес пренасочваме стандартния изход към файла, отворен в родителския процес): a) si.dwFlags = STARTF_USESTDHANDLES; b) si.hStdOutput =hFile;
3) когато създавате дъщерен процес, "наследете" всички наследени обекти.
4) можете (по желание) да "изчакате" края на дъщерния процес
5) затворете всички отворени дръжки
LPCTSTR lpFileName, //указател към низ с име на файл (с път, ако е необходимо)
DWORD dwAccess, //желан режимBamдостъп: ако файлът ще се отваря само за четене -GENERIC_READ, само за запис -GENERIC_WRITEи ако и запис, и четене -GENERIC_READGENERIC_WRITE.0- съдържанието на файла не може да бъде прочетено или записано. Използва се, ако просто искате да получите атрибути на файла
DWORD dwShareMode, //режим на споделяне на файл (как другите могат да използват този файл):0- споделянето е забранено, тоест файлът не може да бъде отворен "отвън" (всеки друг CreateFile за този файл ще завършва с INVALID_HANDLE_VALUE), освен това - дори същият процес няма да може да "отвори" този файл отновоFILE_SHARE_READ- опит от друг процес да отвори файл с GENE RIC_WRITE няма да успее (защита по време на четене), т.е. други процеси могат да отворят този файл само за четенеFILE_SHARE_WRITE– опит от друг процес да отвори файл с GENERIC_READ ще се провали (защита по време на запис), но паралелното писане във файла е разрешеноFILE_SHARE_READFILE_SHARE_WRITE– друг процес може да отвори файла без повторно ограничения.
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // указател към SECURITY_ATTRIBUTES структура или 0 (манипулаторът няма да бъде наследен + защита по подразбиране)
DWORD dwCreation, //опции за създаване - определя дали да се създаде нов файл, да се замени съществуващ... Следните флагове могат да се комбинират ""CREATE_NEW- ще се провали, ако посоченият файл вече съществува, в противен случай се създава нов файлCREATE_ALWAYS- съществуващият файл се заменя с новOPEN_EXISTING- не работи, ако файлът не съществуваOPEN_ALWAY S- файлът се отваря и създава, акоTRUNCATE_EXISTINGне съществува - дължината на файла е зададена на нула, докато dwAccess трябва да има понеGENERIC_WRITE
DWORD dwFlagsAndAttributes, //ОбикновеноFILE_ATTRIBUTE_NORMALЗабележка:атрибутитеса характеристики на самия файл, а не как е бил отворен, => има смисъл само при създаване на файл => те се игнорират, ако се отвори съществуващ файл:FILE_ATTRIBUTE_NORMAL- използва се само ако не са зададени други атрибути (но могат да се задават флагове)флагове:FILE_ATTRIBUTE_READONLY- нито записване, нито изтриване на файлаFILE_FLAG_DELETE_ON_CLOSE- полезно за временни файлове. Файлът се изтрива, когато последният му отворен манипулатор е затворенFILE_FLAG_OVERLAPPED- важно за асинхронен I/O…
- AltGTU 419
- AltGU 113
- AMPGU 296
- ASTU 266
- BITTU 794
- BSTU "Voenmekh" 1191
- BSMU 172
- BSTU 602
- BSU 153
- BSUIR 391
- БелГУТ 4908
- BSEU 962
- БНТУ 1070
- BTEU PK 689
- БрСУ 179
- ВНТУ 119
- VGUES 426
- ВлГУ 645
- VMEDA 611
- ВолгГТУ 235
- ВНУ им. Далия 166
- VZFEI 245
- ВятГША 101
- ВятГГУ 139
- ВятГУ 559
- GGDSK 171
- GomGMK 501
- GSMU 1967
- GSTU im. Сухой 4467
- ГСУ им. Скарина 1590г
- GMA им. Макарова 300
- ГДПУ 159
- DalGAU 279
- DVGGU 134
- DVGMU 409
- DVGTU 936
- DVGUPS 305
- FEFU 949
- ДонГТУ 497
- DITM MNTU 109
- IVGMA 488
- IGHTU 130
- ИжГТУ 143
- KemGPPC 171
- KemGU 507
- KSMTU 269
- Киров АТ 147
- KGKSEP 407
- KGTA им. Дегтярев 174
- КнАГТУ 2909
- КрасГАУ370
- КрасГМУ 630
- KSPU им. Астафиева 133
- KSTU (SFU) 567
- КГТЕИ (СФУ) 112
- PDA № 2 177
- КубГТУ 139
- КубСУ 107
- KuzGPA 182
- КузГТУ 789
- MSTU им. Носова 367
- МГУ ги. Сахарова 232
- IPEC 249
- МГПУ 165
- МАИ 144
- МАДИ 151
- MGIU 1179
- MGOU 121
- MGSU 330
- Московски държавен университет 273
- МГУКИ 101
- MGUPI 225
- MGUPS (MIIT) 636
- МГУТУ 122
- MTUCI 179
- ХАЙ 656
- TPU 454
- NRU MPEI 641
- НМСУ "Горни" 1701
- ХПИ 1534
- НТУУ "КПИ" 212
- НУК тях. Макарова 542
- HB 777
- NGAVT 362
- NSAU 411
- NGASU 817
- NGMU 665
- NGPU 214
- NSTU 4610
- НГУ 1992г
- NSUE 499
- NII 201
- OmGTU 301
- OmGUPS 230
- СПбПК №4 115
- PGUPS 2489
- ПСПУ им. Короленко 296
- ПНТУ им. Кондратюк 119
- RANEPA 186
- ROAT MIIT 608
- RTA 243
- RSHU 118
- РГПУ им. Херцен 124
- РГППУ 142
- RSSU 162
- "МАТИ" - РГТУ 121
- РГУНиГ 260
- REU ги. Плеханов 122
- РГАТУ им. Соловьова 219
- RyazGMU 125
- RGRTU 666
- SamGTU 130
- СПбГАСУ 318
- INGECON 328
- СПбГИПСР 136
- СПбГЛТУ им. Киров 227
- СПбГМТУ 143
- СПбГПМУ 147
- SPbGPU 1598
- СПбГТИ (ТУ) 292
- СПбГТУРП 235
- Държавен университет в Санкт Петербург 582
- GUAP 524
- СПбГУНИПТ 291
- СПбГУПТД 438
- СПбГУСЕ 226
- СПбГУТ 193
- СПГУТД 151
- SPbGUEF 145
- Електротехнически университет в Санкт Петербург "LETI" 380
- ПИМаш 247
- NRU ITMO 531
- СГТУ им. Гагарина 114
- СахСУ 278
- SZTU 484
- СибАГС 249
- СибГАУ 462
- СибГИУ 1655 г
- СибГТУ 946
- SGUPS 1513
- СибГУТИ 2083
- СибУПК 377
- SFU 2423
- SNAU 567
- SSU 768
- TRTU 149
- ТОГУ 551
- TGEU 325
- TSU (Томск) 276
- TSPU 181
- ТулГУ 553
- УкрГАЖТ 234
- UlGTU 536
- UIPCPRO 123
- USPU 195
- USTU-UPI 758
- UGNTU 570
- USTU 134
- ХГАЕП 138
- KhSAFC 110
- HNAGH 407
- HNUVD 512
- KhNU им. Каразина 305
- ХНУРЕ 324
- KhNEU 495
- Процесор 157
- ЧитГУ 220
- SUSU 306
За да отпечатате файла, изтеглете го (във формат Word).