【发布时间】:2009-09-03 08:52:45
【问题描述】:
我有一个应用程序要固定在桌面上。坚持桌面意味着每次有人单击 windows+D 或显示桌面图标时,桌面都会出现应用程序。
用户可以在桌面上定位应用程序并随时更改位置,但它始终保留在桌面上。
我们在 XP 上通过使用 winAPI 方法 SetParent (this .Handle, FindWindow ( "Progman " , null )) 将应用程序的父级设置为桌面来设法做到这一点。
在 Vista 上,我们设法将其固定在桌面上,只要桌面获得焦点,它就会在我们的窗口周围绘制灰色背景。当我的窗口移动时,这个背景不会消失,在桌面上留下难看的方块。当我单击 Windows+D 时,它们都消失了。 请注意,这在 XP 上根本不会发生。
客户端基于.NET 3.0和WPF。
知道为什么会发生这种情况以及如何解决吗?
【问题讨论】:
标签: c# .net desktop windows-vista dock