返回 DeepSeek-Reasonix
process_alive_windows.go
根目录 / desktop / process_alive_windows.go
1 //go:build windows
2
3 package main
4
5 import "golang.org/x/sys/windows"
6
7 const desktopStillActiveExitCode = 259
8
9 func desktopProcessAlive(pid int) bool {
10 if pid <= 0 {
11 return false
12 }
13 handle, err := windows.OpenProcess(windows.PROCESS_QUERY_LIMITED_INFORMATION, false, uint32(pid))
14 if err != nil {
15 return false
16 }
17 defer windows.CloseHandle(handle)
18 var code uint32
19 return windows.GetExitCodeProcess(handle, &code) == nil && code == desktopStillActiveExitCode
20 }
21
21 lines GO