2013-02-22 63 views
1

我想通过可以覆盖特定的Windows应用程序的wpf来创建应用程序。 这意味着,当我运行我的应用程序并指定记事本作为目标应用程序时。那时候,记事本应用程序随时都有焦点,我的应用程序将接管焦点&直接阻止用户处理记事本。通过其他应用程序的窗口设置wpf窗口的所有者,可以吗?

它是在同一个应用程序2个窗口(我们可以设置子窗口的所有者&的ShowDialog)

所以情况很简单,我不知道,如果它有可能获得其他应用程序的窗口句柄为我们的申请设置所有者。

感谢您的任何意见或讨论!

回答

2

在一般意义上,是的 - 这是可能的。但是,您将不得不使用Platform API来获取不在您的进程中的Windows句柄。

这里是Window-related Functions in the Win32 Platform API

列表您可以再由能够使您的WPF窗口出现在其他窗口的顶部。但只要知道,根据您的最终目标,这可能不是实现您想要的结果的最佳方式!

+0

感谢兄弟,我现在可以得到目标窗口的句柄。我现在的工作是惊人的设置位置,我的wpf窗口的所有者通过该句柄重叠目标窗口。我尝试着。^_ ^。谢谢! – kidgu 2013-02-22 05:23:52

+0

很好,在WindowInteropHelper的支持下设置所有者。覆盖表单可以很好地覆盖目标窗口,即使在alt-tab的情况下也是如此。但还有一个问题是,用户移动或调整目标窗口的大小。大声笑。有什么建议吗? – kidgu 2013-02-22 07:29:03

+0

@kidgu bit.ly/16WOzK6有一个定位和尺寸的解决方案。 – 2013-04-11 22:03:20

相关问题