Add Re-attach for a relaunched same-name target
In the Terminated state the Injection panel now offers a Re-attach button: it refreshes the process list and finds live processes whose image name matches the original target's (case-insensitive). Exactly one match -> tear down the stale IPC channel and inject into the new pid via the normal path; several matches -> don't guess, filter the picker to the name and prompt the operator to pick one; none -> report it. Saves hunting for a relaunched game's new pid in the list. Verified: x64 build + ctest 7/7 green. Re-attach is a Terminated-state button flow, so its end-to-end behavior is best confirmed live (ImGui clicks can't be scripted); logic reviewed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -75,13 +75,6 @@ is removed from this list once done — so the top item is always next. The
|
||||
self-verifiable tooling / UI / input items come first; the game-pipeline items that
|
||||
need a real game (and Remote Play) to fully validate come last.
|
||||
|
||||
- **Re-attach to a relaunched target.** A killed-and-relaunched game gets a new pid,
|
||||
but the UI still holds the stale one. In the Terminated state, remember the
|
||||
target's image name (the panel already keeps the selected exe name) and offer a
|
||||
**Re-attach** button that injects only if a live process with that *same name*
|
||||
exists, rebinding the IPC server to the new pid via the existing `inject_dll` path.
|
||||
If several live processes share that name, don't guess — surface the matches in the
|
||||
window/process picker for a manual choice.
|
||||
- **Select targets by window, not just process.** A flat process list is fine as an
|
||||
advanced/debug view, but the default should be a **window list** — there are far
|
||||
fewer top-level windows than processes, and a window directly yields the HWND the
|
||||
|
||||
Reference in New Issue
Block a user