|
|
1
5
免责声明:仅仅因为你 可以 在没有API调用或“挂钩”的WinForms中以某种方式执行某些操作,并不意味着 应该 使用那个技巧。API调用使窗体/窗口不可移动、最顶层等非常简单。请注意,通常的API“简单技术”与下面演示的在桌面上的文件和文件夹图标上显示的技术具有相同的问题。 请注意,通过“干扰”Windows-D组合键的设计行为和任务栏中的“显示桌面”图标,您正在进行用户机器的非标准配置:常见的“智慧”表示这样做不是一个好主意! “伪侧边栏”可以在Vista中的C Winforms中模拟…不受Windows-D隐藏或使用系统托盘中的“显示桌面”图标的影响…没有API调用或“钩住”:但是 抓住 :窗体/窗口将显示在桌面上的项目(文件夹、文件)的顶部,并且由于它是不可移动的,因此您将无法访问“其下”的项目。如果您愿意“忍受”该限制:请阅读:)另一个“较小的怪异”在结尾处注明。 例子:
……草图代码P.O.C.如下:显然,您可以重构、改进…
“Click Event Handler for”按钮1在那里做什么?只是为了在测试中验证表单是否可用。 正是在上面的“停用事件处理程序”中重新激活窗体,使窗体不受Windows-D和“显示桌面”的影响:但在Vista中也有一个奇怪的副作用:当您将焦点从窗体窗口切换开时(例如,通过单击桌面上的文件夹):任务栏将弹起,保持向上(如果它是隐藏的),一个D眨眨眨眼:我想向你展示一下它渴望活跃起来。 忍受一个卡住的打开的任务栏可能是使用这个“Ersatz侧边栏”而不是使用API的另一个代价。 注意:不要忘记:你想要“不透明度:你得到了”不透明度:) [1]注意:您想给用户一种隐藏或关闭表单的方法吗?[ / 1 ] |
|
|
2
2
听起来你想要的是 Application Desktop Toolbar . |
|
|
3
1
|
|
|
4
0
感谢大家的回答, 起初我有这种方法:
但马乔尔的问题是,子窗口也是Deskop的父窗口,您不能使用任何形式的不透明或透明。 |
|
|
5
0
使用以下代码并在窗体加载时将窗口句柄传递给函数,希望这样可以完全解决您的问题。
|
|
|
6
0
一个简单的解决方法可能是只使用win+m,而不听取停用事件。这将消除激活/停用闪烁。 |
|
|
Piter _OS · 带有桌面应用程序的C++微服务[关闭] 8 年前 |
|
|
Gavin Craft · 将以前使用的字符串导入新方法 9 年前 |
|
|
Kelvin · 桌面和移动端网页设计的图像分辨率 11 年前 |
|
|
rsthegreat12 · 用C在桌面上覆盖图像++ 11 年前 |
|
|
CCKx · 桌面上下滚动[关闭] 13 年前 |