我想写一个C#应用程序,它像桌面壁纸上的叠加层一样运行。类似于桌面小部件或Rainmeter(rainmeter.net)运行的方式;在其他应用程序之后,但在桌面壁纸之上。
我找不到这种行为的任何C#示例。有人能指点我一些代码吗?
以下是我有兴趣创建的示例:http://jabz.us/uploaded_images/screenCaptureRainmeter.png
答案 0 :(得分:2)
为什么不使用borderless的WPF窗口(因此是静态的,但您可以使用this code),transparent和below all other windows再次移动它们?您可能必须每隔100毫秒左右轮询每个窗口,否则会让用户意外地点击它。我用一些标签做了一点测试,看起来很好。
例如,使用此代码并经常轮询“低于所有其他窗口”方法。
<Window x:Class="WpfTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="LearnWPF.BorderlessWindow" Height="200" Width="200"
WindowStyle="None" ResizeMode="NoResize" AllowsTransparency="True"
Background="Transparent"
>
<Border Padding="5" BorderBrush="#feca00"
BorderThickness="3" Width="150" Height="150">
<TextBlock>Learn WPF!</TextBlock>
</Border>
</Window>