窗QUOT;桌面" [英] Window "on desktop"
本文介绍了窗QUOT;桌面"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直在使用 Rainlendar 了一段时间,我发现它有一个选项,把窗口在桌面上。这就像一个最底部窗口(作为对最上面)。
I've been using Rainlendar for some time and I noticed that it has an option to put the window "on desktop". It's like a bottomMost window (as against topmost).
我怎么能这样对一个WPF应用程序?
How could I do this on a WPF app?
感谢
推荐答案
我的回答是在Win32 API的条款,而不是具体到WPF(可能需要的P / Invoke从C#):
My answer is in terms of the Win32 API, not specific to WPF (and probably requiring P/Invoke from C#):
Rainlendar有两个选项:
Rainlendar has two options:
- 在桌面,它成为浏览器桌面窗口(程序管理器)的子项。你可以用的setparent API实现这个目标。
- 在底层是你的描述 - 窗户停留在Z顺序的底部,只是在桌面的前面。这是很容易把他们那里开始(见 SetWindowPos ) - 关键是要停止点击时他们来到前台。我建议办理 WM_WINDOWPOSCHANGING 消息。
- "On Desktop", it becomes a child of the Explorer desktop window ("Program Manager"). You could achieve this with the SetParent API.
- "On Bottom" is what you describe - its windows stay at the bottom of the Z-order, just in front of the desktop. It's easy enough to put them there to begin with (see SetWindowPos) - the trick is to stop them coming to the front when clicked. I would suggest handling the WM_WINDOWPOSCHANGING message.
这篇关于窗QUOT;桌面"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文