Питомец.Презентация2_1.pptx
- Количество слайдов: 6
BOOL Create. Process( PCTSTR psz. Application. Name, // имя исполняемого файла PTSTR psz. Command. Line, // командная строка, передаваемая процессу PSECURITY_ATTRIBUTES psa. Process, // атрибуты защиты для объектов «процесс» PSECURITY. ATTRIBUTES psa. Thread, // атрибуты защиты для объектов «поток» BOOL b. Inherit. Handles, // наследовать объекты ядра процесса? DWORD fdw. Create, // флаги процесса PVOID pv. Environment, // блок переменных окружения PCTSTR psz. Cur. Dir, // текущий диск и каталог PSTARTUPINFO psi. Start. Info, // параметры создаваемого процесса PPROCESS_INFORMATION ppi. Proc. Info) // описатели созданного процесса
typedef struct _STARTUPINFO { DWORD cb; // размер структуры PSTR lp. Reserved; // Зарезервировано. ==NULL PSTR lp. Desktop; // Рабочий стол процесса. PSTR lp. Title; // Заголовок консольного окна DWORD dw. X; // Размеры и координаты DWORD dw. Y; // окна в пикселях и символах , DWORD dw. XSize; // если окно приложения создается с флагом DWORD dw. YSize; // CW_USEDEFAULT. Координаты и размеры DWORD dw. XCount. Chars; // консольного окна DWORD dw. YCount. Chars; // DWORD dw. Fill. Attribute; // Цвет консольного окна DWORD dw. Fiags; // флаги, какие элементы структуры используем WORD w. Show. Window; // как должно выглядеть первое окно приложения WORD cb. Reserved 2; // Зарезервировано. ==0 PBYTE lp. Reserved 2; // Зарезервировано. ==NULL HANDLE h. Stdlnput; // Определяют описатели буферов для консольного HANDLE h. Std. Output; // ввода-вывода. По умолчанию h. Std. Input -буфер HANDLE h. Std. Error; // клавиатуры, a h. Std. Output и h. Std. Error— буфер консольного окна } STARTUPINFO, *LPSTARTUPINFO;
typedef struct _PROCESS_INFORMATION { HANDLE h. Process; // дескриптор созданного процесса HANDLE h. Thread; // дескриптор первичного потока DWORD dw. Process. Id; // Уникальный идентификатор процесса DWORD dw. Thread. Id; // Уникальный идентификатор потока } PROCESS_INFORMATION;
#include "stdafx. h“ int _tmain(int argc, _TCHAR* argv[]) { STARTUPINFO info; memset(&info, 0, sizeof(info)); PROCESS_INFORMATION pi; I nfo. cb=sizeof(STARTUPINFO); TCHAR cmd[128]=L”notepad. exe"; Create. Process(NULL, cmd, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, &info, &pi); Sleep(5000); Terminate. Process(pi. h. Process, 0); return 0; }
HINSTANCE Shell. Execute( HWND hwnd, // Окно UI и сообщений об ошибках, NULL LPCTSTR lp. Operation, // Операция: “edit”, “open”, “explore”, “find”, “print” LPCTSTR lp. File, // файл, с которым проводится операция LPCTSTR lp. Parameters, // если файл – исполняемый, то параметры, передаваемые программе, иначе NULL LPCTSTR lp. Directorv, // рабочая директория INT n. Show. Cmd ); // параметры отображения приложения
UINT WINAPI Win. Exec( in LPCSTR lp. Cmd. Line, UINT u. Cmd. Show ); // командная строка приложения // параметры отображения приложения This function is provided only for compatibility with 16 -bit Windows. Applications should use the Create. Process function. (MSDN)
Питомец.Презентация2_1.pptx