亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

從ShellExecute獲取PID

小云
170
2023-09-26 04:16:33
欄目: 編程語言

在使用ShellExecute函數打開一個應用程序后,可以使用ShellExecuteEx函數獲取該應用程序的進程ID(PID)。

以下是一個使用ShellExecuteEx函數獲取PID的示例代碼:

#include <windows.h>
#include <iostream>
int main()
{
// 定義并初始化SHELLEXECUTEINFO結構體
SHELLEXECUTEINFO sei = {0};
sei.cbSize = sizeof(SHELLEXECUTEINFO);
sei.fMask = SEE_MASK_NOCLOSEPROCESS;  // 設置該標志位以獲取進程句柄
sei.lpFile = TEXT("C:\\path\\to\\your\\application.exe");  // 要打開的應用程序路徑
// 使用ShellExecuteEx函數打開應用程序
if (ShellExecuteEx(&sei))
{
// 獲取進程ID
DWORD pid = GetProcessId(sei.hProcess);
// 輸出進程ID
std::cout << "Process ID: " << pid << std::endl;
// 關閉進程句柄
CloseHandle(sei.hProcess);
}
else
{
// 打開應用程序失敗
std::cout << "Failed to open application." << std::endl;
}
return 0;
}

在上面的示例中,我們首先使用ShellExecuteEx函數打開了一個應用程序,并通過設置SEE_MASK_NOCLOSEPROCESS標志位來獲取進程句柄。然后,我們使用GetProcessId函數獲取進程ID,并輸出到控制臺。最后,我們使用CloseHandle函數關閉進程句柄。

請注意,ShellExecuteEx函數可以打開任何文件,不僅限于應用程序。如果要打開其他文件類型,只需將sei.lpFile的值設置為要打開的文件路徑即可。

0
日土县| 成武县| 武城县| 宣武区| 红安县| 新宁县| 新巴尔虎左旗| 陈巴尔虎旗| 浮山县| 河间市| 上思县| 栖霞市| 佛教| 井冈山市| 广平县| 常宁市| 玛纳斯县| 扶余县| 洪江市| 涿鹿县| 铁力市| 栾川县| 绥江县| 林芝县| 黄龙县| 永平县| 和田市| 阿勒泰市| 临汾市| 中西区| 北川| 乌鲁木齐市| 遵化市| 阿拉尔市| 车致| 泸水县| 南川市| 东海县| 仁布县| 吉安市| 都安|