c++关闭指定进程的句柄
时间: 2023-09-04 15:11:40 浏览: 420
在 C++ 中,关闭句柄(handle)可以使用 CloseHandle() 函数。如果要关闭指定进程的句柄,可以使用 OpenProcess() 函数获取进程句柄,然后使用该句柄调用 CloseHandle() 函数来关闭指定进程的句柄。示例代码如下:
```c++
#include <windows.h>
#include <iostream>
int main() {
// 获取进程句柄
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 1234);
if (hProcess == NULL) {
std::cout << "OpenProcess failed: " << GetLastError() << std::endl;
return 1;
}
// 关闭指定句柄
HANDLE hHandle = (HANDLE)0x12345678;
if (!CloseHandle(hHandle)) {
std::cout << "CloseHandle failed: " << GetLastError() << std::endl;
}
// 关闭进程句柄
if (!CloseHandle(hProcess)) {
std::cout << "CloseHandle failed: " << GetLastError() << std::endl;
}
return 0;
}
```
其中,PROCESS_ALL_ACCESS 表示获取进程的全部访问权限,1234 是进程 ID,0x12345678 是要关闭的句柄。如果 OpenProcess() 函数返回的句柄为 NULL,说明获取进程句柄失败;如果 CloseHandle() 函数返回的值为 0,说明关闭句柄失败。
阅读全文