我正在尝试获取我开始的进程的主要形式,但FromChildHandle和FromHandle始终返回null。然而,MainWindowHandle非零。
IntPtr p = process_wrapper.MainWindowHandle;
Form form = (Form) Control.FromChildHandle(p);
if (form != null)
{
form.Close();
}
答案 0 :(得分:2)
如果您的应用已生成相关表单,则只能将表单检索为控件。您无法从其他进程检索表单,因为您的父进程不知道子进程的句柄< - >控件映射。
如果您只想“停止”子进程(form.close()
?),您可以简单地停止整个进程。 “清洁”或强制:
process.CloseMainWindow()
vs process.kill()