0

搜索了我最好的朋友谷歌并找不到答案,所以我就问你们。

我在 WPF 中创建了一个测试应用程序只是为了尝试一些东西,那里只有一个按钮,然后通过单击它打开记事本,其中包含以下内容:

Process executable = new Process ();
        string executablePath = "notepad.exe";
        executable.StartInfo.FileName = executablePath;
        executable.Start ();

到目前为止一切都很好,但不完全是我想要的,因为我希望记事本仅对调用它的应用程序而不是所有应用程序成为 TopMost,这意味着,当我打开 Chrome、Paint 或任何其他应用程序时,记事本应该不要在他们之上,而只是为了测试应用程序本身。

如果我单击所有者的某些内容,是否有一种很好的方法可以实现这一目标而不会闪烁?

谢谢!

4

1 回答 1

0

正如@HansPassant 所提到的,您正在尝试在Window完全位于您的应用程序之外的 a 上设置一个属性。如果您有s的句柄,则可以设置TopMost其中一个的属性,但我不相信您可以以这种方式设置属性。WindowWindowOwner

您可以从 MSDN 上的SetWindowPos功能页面了解更多信息。您还可以在 StackOverflow 上找到一个在 C#WindowTopMost使用此方法设置外部的工作示例,使用窗口句柄帖子将窗口置于最顶层。

于 2013-10-30T13:20:57.750 回答