Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Функції API WIN32 для управління процесами

Читайте также:
  1. Адміністративні методи -це сукупність прийомів, впливів, за­снованих на використанні об'єктивних організаційних відносин між людьми та загальноорганізаційних принципів управління.
  2. Аналіз показників ефективності управління виробничими запасами на підприємстві
  3. Антиконкурентні дії органів влади, органів місцевого самоврядування, органів адміністративно-господарського управління та контролю.
  4. Банк Англії, його утворення, організація і управління, роль і функції
  5. Бенчмаркінг як альтернатива маркетингового дослідження: сутність, функції, види.
  6. Бюрократичні структури управління.
  7. В) проявляється в спроможності державної влади впливати на поведінку та діяльність людей, підкоряти їх собі з метою управління суспільними справами.
  8. В) проявляється в спроможності державної влади впливати на поведінку та діяльність людей, підкоряти їх собі з метою управління суспільними справами.
  9. В.Г. Афанасьєв називає наступні основні управлінські функції: вироблення і ухвалення управлінського рішення; організація; регулювання і корегування; облік і контроль.
  10. Вдосконалення методики економічного обґрунтування механізму управління на підприємстві

Створення нового процесу

BOOL CreateProcess (

LPCTSTR lpszModuleName, // покажчик на рядок з назвою файлу, що

містить виконуючий код

LPCTSTR lpszCommandLine, // покажчик на рядок з вмістом командного

рядка

LPSECURITY_ATTRIBUTES l pProcessSecurity, // покажчик на атрибути безпеки процесу

LPSECURITY_ATTRIBUTES lpThreadSecurity, // покажчик на атрибути безпеки потоку

BOOL bInheritHendles, // прапор успадкування дескрипторів

батьківського процесу (FALSE)

DWORD dwCreateFlags, // прапор, що керує створенням процесу

(табл. 23)

LPVOID lpvEnvironment, // покажчик на блок параметрів середовища

LPCTSTR lpszCurrentDir, // покажчик на рядок зі шляхом до поточного

каталогу процесу (NULL)

LPSTARTUPINFO lpStartInfo, // покажчик на структуру STARTUPINFO

LPPROCESS_INFORMATION lpProcessInfo // покажчик на структуру

PROCESS_INFORMATION

);

Повертає значення TRUE в разі успішного створення нового процесу.

 

Таблиця 1

Прапор Опис прапору
CREATE_NEW_CONSOLE Створення нового консольного вікна для нового процесу
CREARE_NO_WINDOW Виконання процесу без консольного вікна
DEACHED_PROCESS Процес на має своєї консолі і не має доступу до консолі батьківського процесу; для створення консолі викликається функція AllocConsole
CREATE_NEW_PROCESS_GROUP Процес є кореневим для нової групи процесів
CREATE_SUSPENDED Створення процесу з призупиненим потоком; для виконання потоку викликається функція ResumeThread
CREATE_UNICODE_ENVIRONMENT Для змінних середовища використовуються символи в коді UNICODE

 

typedef struct _SECURITY_ATTRIBUTES {

DWORD nLength; // розмір структури в байтах

LPVOID lpSecurityDescriptor; // покажчик на дескриптор безпеки об’єкту

BOOL bInheritHandle; // прапор, що визначає можливість

успадкування дескриптора процесу (TRUE)

} SECURITY_ATTRIBUTES;

 

typedef struct _STARTUPINFO {

DWORD cb; // розмір структури в байтах

LPTSTR lpReserved; // зарезервоване значення (NULL)

LPTSTR lpDesktop; // покажчик на рядок з назвою робочого столу,

на якому запускається процес (NULL)

LPTSTR lpTitle; // покажчик на рядок з заголовком вікна

консолі

DWORD dwX; // координата X лівого верхнього кута вікна

консолі процесу (в пікселах)

DWORD dwY; // координата Y лівого верхнього кута вікна

консолі процесу (в пікселах)

DWORD dwXSize; // ширина вікна консолі процесу (в пікселах)

DWORD dwYSize; // висота вікна консолі процесу (в пікселах)

DWORD dwXCountChars; // ширина вікна консолі процесу (в символах)

DWORD dwYCountChars; // висота вікна консолі процесу (в символах)

DWORD dwFillAttribute; // колір тексту та фону вікна консолі

(бітові прапори з табл. 24)

DWORD dwFlags; // бітові прапори (табл. 25)

WORD wShowWindow; // отримує значення, яке встановлюється при

першому виклику функції ShowWindow

WORD cbReserved2; // зарезервоване значення (0)

LPBYTE lpReserved2; // зарезервоване значення (NULL)

HANDLE hStdInput; // дескриптор стандартного потоку введення

HANDLE hStdOutput; // дескриптор стандартного потоку виведення

HANDLE hStdError; // дескриптор стандартного потоку виведення

помилок

} STARTUPINFO, *LP STARTUPINFO;

Таблиця 24

Бітовий прапор Опис
FOREGROUND_BLUE синій колір тексту
FOREGROUND_GREEN зелений колір тексту
FOREGROUND_RED червоний колір тексту
FOREGROUND_INTENSITY збільшена інтенсивність кольору тексту
BACKGROUND_ BLUE синій колір фону
BACKGROUND_ GREEN зелений колір фону
BACKGROUND_ RED червоний колір фону
BACKGROUND_ INTENSITY збільшена інтенсивність кольору фону

 

Таблиця 25

Бітовий прапор Опис призначення прапору
STARTF_USESHOWWINDOW Дозволяє використання елемента wShowWindow
STARTF_USEPOSITION Дозволяє використання елементів dwX та dwY
STARTF_USESIZE Дозволяє використання елементів dwXSize та dwYSize
STARTF_USECOUNTCHARS Дозволяє використання елементів dwXCountChars та dwYCountChars
STARTF_USEFILLATTRIBUTE Дозволяє використання елемента dwFillAttribute
STARTF_USESTDHANDLES Дозволяє використання елементів hStdInput, hStdOutput та hStdError

 

typedef struct _PROCESS_INFORMATION {

HANDLE hProcess; // дескриптор створеного процесу

HANDLE hThread; // дескриптор створеного потоку

DWORD dwProcessId; // глобальний ідентифікатор створеного процесу

DWORD dwThreadId; // глобальний ідентифікатор створеного потоку

} PROCESS_INFORMATION;

Ініціювання змінної типу STARTUPINFO

VOID GetStartupInfo (

LPSTARTUPINFO lpsi // покажчик на структуру STARTUPINFO

);

 

Очікування звільнення об’єкту

DWORD WaitForSingleObject (

HANDLE hObject, // дескриптор об’єкту

DWORD dwTimeoutInterval // період очікування в мілісекундах

(0 – без очікування, INFINITE – нескінченно)

);

Повертає значення WAIT_OBJECT_0, WAIT_ABANDONED, WAIT_TIMEOUT або, в разі неуспішного виконання, значення WAIT_FAILED.




Дата добавления: 2014-12-19; просмотров: 44 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав