如何将应用程序停靠在 Windows 桌面上?
我想在.NET中为Windows开发一个小型通知应用程序,该应用程序停靠在屏幕的右侧/左侧(不消耗超过300px),应该始终可见并强制其余窗口不与该应用程序重叠(某些东西)就像旧的 Office 任务栏或 Vista 的侧边栏)。我不知道从哪里开始。可以使用 XAML/WPF 来完成吗?因为我什至还没有开始编码,所以此时任何选项都是有效的。
谢谢!
I would like to develop a small notifications application for Windows in .NET that docks on the right/left side of the screen (not consuming more than 300px), should always be visible and force the rest of windows to not overlap this application (something like the old Office taskbar or Vista's Sidebar). I have no idea where to start. Can it be done using XAML/WPF? Since I haven't even started coding any option is valid at this point.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最可靠的方法是将您的应用程序注册为应用程序桌面工具栏(AppBar)。
您将需要互操作才能执行此操作,这里有一篇关于使用 C# 执行此操作的代码项目文章,它应该是一个公平的起点。 http://www.codeproject.com/KB/dotnet/AppBar.aspx
The most reliable way would be to register your application as an Application Desktop Toolbar (AppBar).
You will need to interop to do this, here is a Code Project article on doing this with C#, it should be a fair starting point. http://www.codeproject.com/KB/dotnet/AppBar.aspx
您想要创建一个 AppBar!
基本上按 ABM_NEW、ABM_QUERYPOS、ABM_SETPOS 和 ABM_ACTIVATE 的顺序调用 SHAppBarMessage()。
如果您想从托管代码执行此操作,则必须自己编写互操作,或使用 this 来自 pinvoke.net。
You want to create an AppBar!
Basically call SHAppBarMessage() with ABM_NEW, ABM_QUERYPOS, ABM_SETPOS and ABM_ACTIVATE, in that order.
If you want to do it from managed code, you'll have to write the interop yourself, or use this from pinvoke.net.