问题标签 [appbar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
32279 浏览

c# - 您如何在 WPF 中进行 AppBar 对接(到屏幕边缘,如 WinAmp)?

是否有关于在 WPF 中进行 AppBar 对接(例如锁定到屏幕边缘)的完整指南?我知道需要进行 InterOp 调用,但我正在寻找基于简单 WPF 表单的概念证明或可以使用的组件化版本。

相关资源:

0 投票
1 回答
941 浏览

c# - 进程终止后清理 AppBar

我写了一个应用程序桌面工具栏(又名 AppBar),它工作得很好,除了如果我终止进程,AppBar 代码永远没有机会通过发送 ABM_REMOVE 来清理。问题是这基本上把用户的桌面搞砸了。AppBar 是使用互操作代码在 .NET 中编写的。

有谁知道清理这个资源的方法,即使是在 TaskManager 杀死进程的情况下?

0 投票
4 回答
958 浏览

windows - 应用程序栏和“显示桌面”

我有一个 Windows 应用程序,它使用 AppBar API 安装为屏幕顶部的应用程序栏(类似于 Windows 任务栏本身)。这很好用,桌面大小也会相应调整,所以我的应用程序总是可见的。

但是,如果用户选择“显示桌面”(Windows+D),我的应用程序将被隐藏。有谁知道捕获“显示桌面”的方法,以便我可以确保我的应用程序保持可见(我假设 Windows 枚举所有顶级窗口并使用 ShowWindow(SW_HIDE) 隐藏它们。

0 投票
3 回答
290 浏览

windows - Vista 工具栏如何忽略或找出边框填充设置?

我有一个在旧版本的 Windows 下开发的工具栏,由于窗口新的边框填充,它在 Vista 下很大程度上被切断了。使用默认的 4 边框填充,工具栏上的所有内容都向下和向右移动 4 个像素,然后从底部和右侧将所有内容裁剪 4 个像素。我不太关心水平尺寸,但垂直这意味着应用程序丢失了 8 个像素的可见内容。

“工具栏”是指创建类似于以下内容的窗口:

由于边框填充对于 Vista 来说似乎是一个新的配置项,在 XP 和 Vista 中运行的应用程序如何处理这个问题?我的问题是:

  1. 工具栏是否可以告诉 Vista“忽略'边框填充'设置;我的边框填充为 0”?
  2. 如果不是,应用程序如何确定边框填充设置的值,以便它可以使其窗口高出两倍?
  3. 对于这两个问题,您如何以允许相同的可执行文件在 XP、Vista、Win2003 等系统下运行的方式做到这一点?
0 投票
10 回答
20074 浏览

html - 如何制作可重用的 HTML 导航菜单?

我敢肯定这个话题一直都在出现,
但我似乎无法给出一个简洁的答案。

我有一个垂直菜单栏,我想在网页中重复使用 (>20)。以Menu BarHTML 编码并使用:UL, LI, A<Div>标签和 CSS。我们需要这个:

  1. 可重复使用的
  2. 可维护
  3. 可扩展

因此我们不必每次添加页面时都修改所有页面。

如果可能,我们宁愿避免使用编码方法。我们可以只使用一个我们根据需要编辑的主文件。由于我们正在使用CSSand <div>s,我认为帧不适合我们。我们能做什么?

0 投票
3 回答
2814 浏览

c# - Windows 系统锁定时的屏幕信息 (.NET)

我们有一个每晚更新用户电脑上的应用程序的过程,这需要关闭应用程序并再次备份(不打算更改该过程)。

问题是我们在启动时构建了一个 Windows AppBar,它需要一个有效的屏幕,而当系统被锁定时,Screen 类中没有一个。所以没有启用任何视觉效果,它显示得很丑。

我们目前解决此问题的唯一方法是检测锁定的屏幕并旋转并等待用户解锁桌面,然后继续启动。保留它不是一种选择,因为这是我们用户工作流程的关键部分,如果他们在前一天晚上就这样离开它,他们希望它能够启动并运行。

有任何想法吗??我似乎无法在任何地方找到显示信息,但它必须存储在某个地方,因为用户仍处于登录状态。

Screen.AllScreens 数组的内容:

** 锁定时:

** 解锁时:

0 投票
1 回答
747 浏览

c# - AppBar 焦点问题

我创建了一个 AppBar。AppBar 始终保持在顶部,当它失去焦点时,要回到 AppBar 需要两次单击而不是一次。我相信第一次点击会激活表单,然后第二次点击我会收到鼠标点击事件(如预期的那样)。你能给出任何想法,这里有什么问题吗?我的问题类似于这个Appbar and focus issues。不幸的是,该链接中的 OP 没有发布他的解决方案,很遗憾。

我在 CodeProject C# do Shell, Part 3的这篇文章之后创建了 AppBar 。

我用 Spy++ 调查了它,但不知道为什么会这样。这是我在测试此场景时获得的 Spy++ 日志(第一次单击不起作用,第二次起作用)。

查看 Spy++ 日志,我认为问题在于激活,我认为如果窗口被激活,它只会收到WM_LBUTTONDOWN事件。但是为什么其他窗口没有被激活,但它们仍然可以单击一下(即我不必先单击它)。

编辑:我认为问题出在ToolStrip上。我的 AppBar 中有一个ToolStrip。现在我如何验证这一点?好吧,在同一个表单上,我创建了一个按钮并在其单击事件中显示了一个消息框,它工作正常。现在该如何补救呢?

0 投票
0 回答
234 浏览

windows - 定位多个 Windows 应用栏

有没有人有使用 Windows appbars(应用程序桌面工具栏)的经验?我已经从文档( http://msdn.microsoft.com/en-us/library/cc144177%28VS.85%29.aspx )中弄清楚了如何实现它们,并且我已经让它工作得很好。但是我注意到,当相邻边缘上有多个非自动隐藏应用栏时,顶部和/或底部边缘始终位于第一个位置,以便它们跨越屏幕的宽度,并且左/右应用栏始终是强制的为顶部/底部的空间让出空间。

我希望可以选择让左边缘或右边缘应用栏跨越整个屏幕高度,即使有相邻的顶部或底部边缘应用栏,但从我所看到的情况来看,Windows 的开发人员只是选择了不使其成为一种选择。即使您只为顶部或底部应用栏请求沿部分边缘的空间,Windows 也会沿整个边缘留出相应的宽度。有人知道解决方法吗?

0 投票
2 回答
1565 浏览

c# - C# 停靠到桌面边缘,弹出问题

我正在制作一个可以停靠在桌面边缘之一的 WPF 应用程序。我通过在屏幕的同一边缘设置一个 5px 宽的透明窗口“EdgeWindow”来做到这一点,只要鼠标移过该窗口,就会弹出应用程序的窗口。

问题在于,虽然“EdgeWindow”设置为“Topmost”,但其他 Windows 应用程序也将其窗口设置为“Topmost”,这意味着 EdgeWindow 可能最终位于某些窗口下方。据我所知,似乎没有保证将 EdgeWindow 保持在顶部的方法。

我的应用程序已经是一个“ApplicationDesktopToolbar”(类似于http://www.codeproject.com/KB/shell/csdoesshell3.aspx)所以我希望可能有某种方法可以使用该基础设施来确定窗口是否应该弹出并摆脱完全“EdgeWindow”,但我看不到任何有帮助的东西。

0 投票
1 回答
1985 浏览

wpf - WPF AppBar 自动隐藏实现

我是学习 WPF 的初学者,需要创建一个启动应用程序的应用程序栏。我需要它自动隐藏,但我正在努力解决这个问题。我很好地实现了对接方面,并将其注册为带有窗口的自动隐藏工具栏,但不确定如何实际实现自动隐藏功能。目前,我的窗口使用情节提要事件通过将不透明度更改为 0 来“隐藏”,但是该栏仍将处于“顶部”并阻止所有其他应用程序,因此这不太有效。