中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

從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
遂平县| 朝阳区| 土默特右旗| 普兰县| 宝应县| 伊春市| 龙山县| 册亨县| 静宁县| 县级市| 民乐县| 商南县| 丹棱县| 铅山县| 航空| 望谟县| 宁都县| 寿阳县| 濉溪县| 延安市| 达州市| 平陆县| 皋兰县| 广昌县| 洱源县| 依安县| 香格里拉县| 长乐市| 岳池县| 宜川县| 宁南县| 阿鲁科尔沁旗| 当涂县| 东丰县| 即墨市| 淳化县| 志丹县| 乐山市| 东方市| 东明县| 通榆县|