Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何在Windows桌面上停靠应用程序?_.net_Wpf_Windows_Taskbar_Docking - Fatal编程技术网

.net 如何在Windows桌面上停靠应用程序?

.net 如何在Windows桌面上停靠应用程序?,.net,wpf,windows,taskbar,docking,.net,Wpf,Windows,Taskbar,Docking,我想为.NET中的Windows开发一个小的通知应用程序,它停靠在屏幕的右/左侧(不超过300px),应该始终可见,并强制其他窗口不要与此应用程序重叠(类似于旧的Office任务栏或Vista的侧边栏)。我不知道从哪里开始。可以使用XAML/WPF完成吗?因为我还没有开始编码,所以在这一点上任何选项都是有效的 谢谢 您想创建一个 基本上用ABM_NEW、ABM_QUERYPOS、ABM_SETPOS和ABM_ACTIVATE按顺序调用SHAppBarMessage() 如果您想从托管代码中执行此

我想为.NET中的Windows开发一个小的通知应用程序,它停靠在屏幕的右/左侧(不超过300px),应该始终可见,并强制其他窗口不要与此应用程序重叠(类似于旧的Office任务栏或Vista的侧边栏)。我不知道从哪里开始。可以使用XAML/WPF完成吗?因为我还没有开始编码,所以在这一点上任何选项都是有效的

谢谢

您想创建一个

基本上用ABM_NEW、ABM_QUERYPOS、ABM_SETPOS和ABM_ACTIVATE按顺序调用SHAppBarMessage()


如果您想从托管代码中执行此操作,您必须自己编写互操作,或者从pinvoke.net使用。

最可靠的方法是将您的应用程序注册为应用程序桌面工具栏(AppBar)


要做到这一点,您需要进行互操作,这里有一篇关于使用C#实现这一点的代码项目文章,这应该是一个公平的起点

这个问题在另一个主题中得到了很好的回答: