Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试获取我开始的进程的主要形式,但 FromChildHandle 和 FromHandle 始终返回 null。然而 MainWindowHandle 是非零的。
IntPtr p = process_wrapper.MainWindowHandle; Form form = (Form) Control.FromChildHandle(p); if (form != null) { form.Close(); }
如果相关表单已由您的应用程序生成,您只能将表单作为控件检索。您无法从另一个进程中检索表单,因为您的父进程不知道子进程的句柄 <-> 控制映射。
如果您只想“停止”子进程(form.close()?)您可以简单地停止整个进程。要么“干净”,要么强制:
form.close()
process.CloseMainWindow()对比process.kill()
process.CloseMainWindow()
process.kill()