Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2013, 13:51   #1
bestnicer
Пользователь
 
Аватар для bestnicer
 
Регистрация: 29.05.2012
Сообщений: 59
Восклицание С++ Взаимодействие программы и ОС

Помогите мне описать, пожалуйста, подробнее - как взаимодействуют между собой эта программа и операционная система?Прям очень надо((
Код:
#include "StdAfx.h"
#include <windows.h>
#include <iostream>
#include <iomanip>
#include <TCHAR.h>
#include <time.h>
#include <conio.h>
#include <stdio.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale( LC_ALL,"Russian" );
    STARTUPINFO si = {};
    PROCESS_INFORMATION pi = {};
    char zn;
    char str[256];
    char str2[256];
    wchar_t strS[256];
 
    while (true)
    {
        printf(">");
        gets(str); 
        if(!strcmp(str, "exit"))
        break;
        if(str[strlen(str) - 1] == '&')
            zn = '&';
        else
            zn = '#';
        sscanf(str, "%s ", str2);  
        mbstowcs(strS, str2, 256);
 
        if ( !CreateProcess(NULL, strS, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi) )
        {
            cout << "Файл  " << str2 << " не найден!" << endl;
            continue;
        }
            if(zn == '&')
                continue;
 
            WaitForSingleObject(pi.hProcess, INFINITE);
 
            if ( !PostThreadMessage(pi.dwThreadId, WM_QUIT, 0, 0) )
                continue;
 
            CloseHandle(pi.hProcess);
            CloseHandle(pi.hThread);
    }
    return 0;
}
bestnicer вне форума Ответить с цитированием
Старый 18.03.2013, 14:00   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Программа вызывает стандартные функции ОС, а также осуществляет ввод/вывод через стандартное устройство.
s-andriano вне форума Ответить с цитированием
Старый 18.03.2013, 14:04   #3
bestnicer
Пользователь
 
Аватар для bestnicer
 
Регистрация: 29.05.2012
Сообщений: 59
По умолчанию

Не могли бы Вы еще объяснить, для чего в программе используются хэндлы(hProcess,hThread)?
bestnicer вне форума Ответить с цитированием
Старый 18.03.2013, 14:08   #4
bestnicer
Пользователь
 
Аватар для bestnicer
 
Регистрация: 29.05.2012
Сообщений: 59
По умолчанию

Извините, а можно подробнее: что за стандартные функции и стандартное устройство?(
bestnicer вне форума Ответить с цитированием
Старый 18.03.2013, 14:27   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Не могли бы Вы еще объяснить, для чего в программе используются хэндлы(hProcess,hThread)?
Для того, чтобы дать понять операционной системе, о каком процессе и потоке соответственно идёт речь. А то представьте себя на месте операционной системы: дёргает вас какая-та программа и говорит: "всё, процесс мне не нужен". А у вас этих процессов полсотни штук, и про какой шла речь - непонятно.
Abstraction вне форума Ответить с цитированием
Старый 18.03.2013, 15:00   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Стандартные функции - все документированные функции ОС.
Стандартное устройство ввода/вывода - обычно имеется в виду консоль.
s-andriano вне форума Ответить с цитированием
Старый 18.03.2013, 15:46   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

http://programmersforum.ru/showthread.php?t=229656
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как наладить взаимодействие между формами программы mixmon Visual C++ 6 26.06.2015 12:11
Взаимодействие нескольких копий программы fezilk25 Работа с сетью в Delphi 3 02.06.2012 14:09
взаимодействие в делфи nyasha2013 Помощь студентам 5 14.05.2011 10:58
Взаимодействие C# и 1с Sparky Свободное общение 1 05.02.2010 04:31
Взаимодействие DLL и программы Никки Общие вопросы Delphi 11 07.08.2008 21:22