mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 11:48:06 +01:00
Remove retries (#12860)
This commit is contained in:
@@ -42,33 +42,27 @@ inline std::wstring get_process_path(HWND window) noexcept
|
|||||||
// It might take a time to connect the process. That's the reason for the retry loop here
|
// It might take a time to connect the process. That's the reason for the retry loop here
|
||||||
DWORD new_pid = pid;
|
DWORD new_pid = pid;
|
||||||
|
|
||||||
const int retryAttempts = 10;
|
EnumChildWindows(
|
||||||
for (int retry = 0; retry < retryAttempts && pid == new_pid; retry++)
|
window, [](HWND hwnd, LPARAM param) -> BOOL {
|
||||||
|
auto new_pid_ptr = reinterpret_cast<DWORD*>(param);
|
||||||
|
DWORD pid;
|
||||||
|
GetWindowThreadProcessId(hwnd, &pid);
|
||||||
|
if (pid != *new_pid_ptr)
|
||||||
|
{
|
||||||
|
*new_pid_ptr = pid;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
reinterpret_cast<LPARAM>(&new_pid));
|
||||||
|
|
||||||
|
// If we have a new pid, get the new name.
|
||||||
|
if (new_pid != pid)
|
||||||
{
|
{
|
||||||
EnumChildWindows(
|
return get_process_path(new_pid);
|
||||||
window, [](HWND hwnd, LPARAM param) -> BOOL {
|
|
||||||
auto new_pid_ptr = reinterpret_cast<DWORD*>(param);
|
|
||||||
DWORD pid;
|
|
||||||
GetWindowThreadProcessId(hwnd, &pid);
|
|
||||||
if (pid != *new_pid_ptr)
|
|
||||||
{
|
|
||||||
*new_pid_ptr = pid;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
reinterpret_cast<LPARAM>(&new_pid));
|
|
||||||
|
|
||||||
// If we have a new pid, get the new name.
|
|
||||||
if (new_pid != pid)
|
|
||||||
{
|
|
||||||
return get_process_path(new_pid);
|
|
||||||
}
|
|
||||||
|
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user