수색…


프로세스를 생성하고 종료 코드를 확인하십시오.

이 예제에서는 메모장을 시작하고 메모장을 닫은 다음 종료 코드를 가져옵니다.

#include <Windows.h>

int main()
{
   STARTUPINFOW si = { 0 };
   si.cb = sizeof(si);
   PROCESS_INFORMATION pi = { 0 };

   // Create the child process
   BOOL success = CreateProcessW(
      L"C:\\Windows\\system32\\notepad.exe",  // Path to executable
      NULL,                                   // Command line arguments
      NULL,                                   // Process attributes
      NULL,                                   // Thread attributes
      FALSE,                                  // Inherit handles
      0,                                      // Creation flags
      NULL,                                   // Environment
      NULL,                                   // Working directory
      &si,                                    // Startup info
      &pi);                                   // Process information

   if (success)
   {
      // Wait for the process to exit
      WaitForSingleObject(pi.hProcess, INFINITE);

      // Process has exited - check its exit code
      DWORD exitCode;
      GetExitCodeProcess(pi.hProcess, &exitCode);

      // At this point exitCode is set to the process' exit code

      // Handles must be closed when they are no longer needed
      CloseHandle(pi.hThread);
      CloseHandle(pi.hProcess);
   }
}

참조 (MSDN) :

새 스레드 만들기

#include <Windows.h>

DWORD WINAPI DoStuff(LPVOID lpParameter)
{
    // The new thread will start here
    return 0;
}

int main()
{
    // Create a new thread which will start at the DoStuff function
    HANDLE hThread = CreateThread(
        NULL,    // Thread attributes
        0,       // Stack size (0 = use default)
        DoStuff, // Thread start address
        NULL,    // Parameter to pass to the thread
        0,       // Creation flags
        NULL);   // Thread id
    if (hThread == NULL)
    {
        // Thread creation failed.
        // More details can be retrieved by calling GetLastError()
        return 1;
    }

    // Wait for thread to finish execution
    WaitForSingleObject(hThread, INFINITE);

    // Thread handle must be closed when no longer needed
    CloseHandle(hThread);

    return 0;
}

CRT는 스레드 생성을위한 _beginthread_beginthreadex API도 제공 _beginthread 예제에는 표시되지 않습니다. 다음 링크에서는 이러한 API와 CreateThread API의 차이점에 대해 설명 합니다 .

참조 (MSDN) :



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow