Win32 API
प्रक्रिया और धागा प्रबंधन
खोज…
एक प्रक्रिया बनाएं और उसका निकास कोड जांचें
यह उदाहरण नोटपैड शुरू करता है, इसके बंद होने का इंतजार करता है, फिर उसका निकास कोड प्राप्त करता है।
#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 भी प्रदान करता है, जो इस उदाहरण में नहीं दिखाए गए हैं। निम्न लिंक इन APIs और CreateThread
API के बीच अंतर पर चर्चा करता है ।
संदर्भ (MSDN):
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow