91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

從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
乌拉特中旗| 昌邑市| 嵊州市| 错那县| 上栗县| 龙口市| 永康市| 祁连县| 信宜市| 广宗县| 吴旗县| 莱阳市| 长宁区| 景宁| 竹溪县| 武川县| 临湘市| 河曲县| 威远县| 琼结县| 肃宁县| 山阴县| 福州市| 崇仁县| 明溪县| 桐城市| 安溪县| 凤台县| 大庆市| 长岛县| 财经| 临泽县| 炉霍县| 五莲县| 武夷山市| 瑞安市| 凤庆县| 邹平县| 洛浦县| 平湖市| 监利县|