我想写一个C#应用程序,它像桌面壁纸上的叠加层一样运行.类似于桌面小部件或Rainmeter(rainmeter.net)运行的方式;在其他应用程序背后,但在桌面壁纸之上.
我找不到任何这种行为的C#例子.有人能指点我一些代码吗?
以下是我有兴趣创建的示例:http://jabz.us/uploaded_images/screenCaptureRainmeter.png
最佳答案 为什么不使用
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>