typedef struct _STARTUPINFO {
DWORD cb;
LPTSTR lpReserved;
LPTSTR lpDesktop;
LPTSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;
} STARTUPINFO, *LPSTARTUPINFO;
STARTUPINFO 구조체는 생성하는 프로세스의 속성을 지정할 때 사용된다.
1.cb - 구조체 변수의 크기를 전달한다.
2.lpReserved - 이 프로세스에 대한 바탕 화면의 이름 또는 바탕 화면과 창 스테이션의 이름.
문자열의 백 슬래시는 문자열에 바탕 화면 및 창 스테이션 이름이 모두 포함되어 있음을 나타낸다.
3.lpDesktop -바탕 화면의 이름 또는이 프로세스에 대한 바탕 화면과 창 스테이션의 이름. 문자열의 백 슬래시는 문자열에 데스크톱 및 창 스테이션 이름이 모두 있음을 나타냅니다.
4.lpTitle - 콘솔 프로세스의 경우 새 콘솔 창이 작성되면 제목 표시 줄에 표시되는 제목입니다. NULL이면 실행 파일의 이름이 창 제목으로 대신 사용됩니다. 이 매개 변수는 새 콘솔 창을 작성하지 않는 GUI 또는 콘솔 프로세스의 경우 NULL이어야합니다.
5.dwX - 프로세스 윈도우의 x좌표
6.dwY - 프로세스 윈도우의 y좌표
7.dwXSize - 프로세스 윈도우의 가로길이
8.dwYSize - 프로세스 윈도우의 세로길이
9.dwXCountChars - dwFlags 에 STARE_USECNTCHARs가 지정된 경우,
콘솔 프로세스에 새 콘솔 창이 생성되는 경우 이 멤버는 화면 버퍼 폭을 문자열로 지정합니다. 그렇지 않으면 이 멤버는 무시됩니다
10.dwYCountChars - dwFlags 에 STARE_USECNTCHARs가 지정된 경우,
콘솔 프로세스에 새 콘솔 창이 생성되는 경우 이 멤버는 화면 버퍼 높이를 문자열로 지정합니다. 그렇지 않으면 이 멤버는 무시됩니다
11.dwFillAttribute - dwFlags 에서 STAREB_USEFILLATTRIBUTE를 지정하는 경우, 이 멤버는 새 콘솔 창이 콘솔 응용 프로그램에 생성된 경우 초기 텍스트 및 배경 색입니다. 그렇지 않으면 이 멤버는 무시됩니다.
이 값은 FOREGROUND_BLUE, FOREGROUND_GREEN, BARE GRSEOUNDOUNDED,
FOREGROUND_INCKTENSITY의 임의 조합일 수 있다. 예를 들어 다음과 같은 값 조합을 사용하여 흰색 배경에 빨간 색 텍스트를 생성할 수 있습니다.
FOREGROUND_RED| BACKGROUND_RED| BACKGROUND_GREEN| BACKGROUND_BLUE
12.dwFlags - 설정된 맴버의 정보
플래그값 참조 : https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms686331(v=vs.85).aspx
13.wShowWindow - dwFlags 에 STARTF_USESHOWWINDOW가 지정된 경우 이 멤버는 SW_SHFANDOW를 제외하고 Window기능에 대해 지정할 수 있는 값 중 하나가 될 수 있습니다. 그렇지 않으면 이 멤버는 무시됩니다.
GUI프로세스의 경우, 처음 ShowWindows를 호출할 때 Windows표시 파라미터가 무시되어 기본 값을 지정합니다. 이후에 ShowWindow로 호출할 때 ShowWindow매개 변수를 SW_ShowdeFAULT로 설정한 경우 wSho .indow 멤버가 사용된다.
14.cbReserved2 - c 런타임에 사용하기 위해 예얀된 값은 0이어야합니다.
15.lpReserved2 - c 런타임에 사용하기 위해 예얀된 값은 NULL이어야합니다.
16.hStdInput - dwFlags 에 STAR_USESS/PANDALS를 지정할 경우, 이 멤버는 프로세스에 대한 표준 입력 핸들이다. STARM_USESNDALS를 지정하지 않으면, 표준 입력의 기본 값은 키보드 버퍼이다.
dwFlags 가 STARTF_USEHOTKEY를 지정하는 경우, 이 멤버는 첫번째로 생성된 최상위 프로세스에서 소유한 WM_SETHOTKEY 메시지의 mkaram매개 변수로 전송되는 핫 키 값을 지정합니다. 이 창이 WS_POPUP 창 스타일로 생성되는 경우 WSWS_EX_APPWINDOW확장 스타일이 설정되어 있지 않으면 사용할 수 없습니다. 그렇지 않으면 이 멤버는 무시됩니다.
17.hStdOutput - dwFlags 에 STARTF_USESTDHANDLES를 지정할 경우, 이 멤버는 프로세스에 대한 표준 출력 핸들이 된다. 그렇지 않으면 이 멤버는 무시되고 표준 출력의 기본 값은 콘솔 창의 버퍼입니다.
프로세스가 작업 표시 줄 또는 점프 목록에서 시작되면 시스템은 hStdOutput 을 프로세스 시작에 사용되는 작업 표시 줄이나 점프 목록이 포함 된 모니터의 핸들로 설정 합니다
18.hStdError - dwFlags 에 STARTF_USESTDHANDLES를 지정할 경우, 이 멤버는 프로세스에 대한 표준 오류 처리를 한다. 그렇지 않으면 이 멤버는 무시되고 표준 오류의 기본 값은 콘솔 창의 버퍼입니다.
'프로그래밍 > MFC , WinAPI' 카테고리의 다른 글
SetCurrentDirectory 함수란 무엇인가? (0) | 2018.04.05 |
---|---|
GetCurrentDirectory란 무엇인가? (0) | 2018.04.05 |
CreateProcess 함수란 무엇인가? (0) | 2018.04.04 |
FindWindow 함수란 무엇인가? (0) | 2018.03.18 |
GetAsyncKeyState 함수와 GetKeyState 에 대해서 알아보자. (0) | 2018.03.16 |