我想启动一个子进程(我在Windows 10上),我希望能够随意暂停和恢复该进程。
我发现这个整洁的未记录的Windows功能应该可以完成这项工作,但现在我需要获得进程的句柄来发出挂起命令。NtSuspendProcessntdll.dll
这是一个例子:
modntdll = syscall.NewLazyDLL("ntdll.dll")
procNtSuspendProcess = modntdll.NewProc("NtSuspendProcess")
procNtResumeProcess = modntdll.NewProc("NtResumeProcess")
_, _, err = procNtSuspendProcess.Call(uintptr(handle))
_, _, err = procNtResumeProcess.Call(uintptr(handle))
要启动该过程,我通常会使用该函数,但我找不到检索该过程句柄的方法。exec.Command
有没有办法在启动流程时获取句柄?
如果不是 ,我应该使用哪个其他库来启动同时返回进程句柄的进程?exec.Command
作为旁注:
我已经研究了syscall。StartProcess,但它的级别很低,我觉得无法处理这样的原始实现。
_, handle, err := syscall.StartProcess("C:\\WINDOWS\\system32\\cmd.exe", []string{}, procAttr)
梵蒂冈之花
富国沪深
相关分类