Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> процедуры и среды 
:(
    Опции темы
azer88
Дата 19.10.2011, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



Код


#include <Windows.h>
#include<iostream>
#include<process.h>
#include<time.h>
#include<string>
using namespace std;
#define TEXTSIZE 1024

struct ProcInfo
{
    char ProcName[TEXTSIZE];
    int procThroughput;
};
void runProcess(char*Name)
{
    STARTUPINFO si={0,};
    PROCESS_INFORMATION pi;
    HANDLE client=(HANDLE)CreateProcess(
        NULL,
        (LPSTR)Name,
        NULL,
        NULL,
        true,
        CREATE_NEW_CONSOLE,
        NULL,
        NULL,
        &si,
        &pi);
    if(client==INVALID_HANDLE_VALUE)
    {
        cout<<"Process creat failure"<<endl;
        exit(1);
    }

};
UINT WINAPI count(void *arg)
{
    static int a=0;
    cout<<(char*)arg<<endl;
    if((char*)arg=="1") runProcess("Child01.exe");
    if((char*)arg=="2") runProcess("Child02.exe");
    if((char*)arg=="3") runProcess("Child03.exe");
    a++;
    return 0;
}

int main()
{
    HANDLE hTread[3];
    int choiceNum;
    char loof='a';
    while(loof!='q'){
        system("cls");
        cout<<"Main Process"<<endl;
    hTread[0]=(HANDLE)_beginthreadex(NULL,0,count,"1",0,NULL);
    WaitForMultipleObjects(1,hTread,true,INFINITE);
    Sleep(10000);
    hTread[1]=(HANDLE)_beginthreadex(NULL,0,count,"2",0,NULL);
    WaitForMultipleObjects(2,hTread,true,INFINITE);
    Sleep(10000);
    hTread[2]=(HANDLE)_beginthreadex(NULL,0,count,"3",0,NULL);
    WaitForMultipleObjects(3,hTread,true,INFINITE);
    Sleep(10000);
    }
    return 0;
}


мне нужно вот что:
у меня есть 3 процесса первый пишет текст файл, второй читает и передает серверу, третий показывает что получил из второго все эти процессы должны быть в разных kонсолax. программа нормально работает но сейчас каждый thread создает новую процедуру и показывает все в новом окне  а мне нужно чтобы  только первый раз создалось 3 процедуры и потом был свич между процедурами.
как я могу это сделать?
P.s это не весь код
PM MAIL   Вверх
Dem_max
Дата 20.10.2011, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



не особо из описания понятно что ты хочешь сделать


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
BorisVorontsov
Дата 22.10.2011, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: 4
Всего: 10



Цитата(azer88 @  19.10.2011,  14:51 Найти цитируемый пост)
как я могу это сделать?

При вызове CreateProcess, в hStdOutput дочерних передавай хендл корневого процесса


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0944 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.