0
我通过将Show方法传递给另一个进程中创建的窗体的句柄,从一个进程显示新窗体。我只希望这个新窗体显示在传递的窗体之上,就像一个MessageBox。不希望窗体显示在其他应用程序窗口上
然而,这个新推出的形式出现上述其他应用程序窗口,尽管:
- 设置Process.WindowStyle.Hidden到表单显示处理
- 覆盖表单的ShowWithoutActivation和性能的CreateParams。
- 确保Form.TopMost
我已经检查了窗口句柄是从第二个进程有效是不正确的。 但是,重点不会被盗。
Process A:
Pass (Form) window handle to a new Process B via the command line
Process B:
Display a new Form using Form.Show(anotherProcessWindowHandle)
虽然我想要SetForegroundWindow的相反行为。你能详细说明吗? – 2010-05-13 22:36:50
不计算。你希望它在后台,总是被其他窗口覆盖? – 2010-05-13 23:02:18
我希望这个新窗体表现为传递给第二个进程的窗口(句柄)的MessageBox。如果第一个进程/窗口位于前台,那么MessageBox应该出现在窗口上,但是如果窗口不可见或者MessageBox出现的区域被遮挡,那么MessageBox就不应该显示。 – 2010-05-14 07:14:30