- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如何在 Windows 7 中将自定义工具栏放在任务面板之前的任务栏上?有一个名为 Pokki 的流行应用程序可以做到这一点。 我想知道我该怎么做?
Edit1:我需要一种 100% 的方式来访问 Windows 7 的自定义工具栏(DeskBand?)。我不是在寻找固定应用程序解决方案,而是一种构建能够处理自己的消息的自定义解决方案的方法并显示它自己的图标。非常感谢 C# 方式。
Edit2:非常感谢 WPF 方式。
最佳答案
在 C# 中,您会得到很多建议不要这样做。否则我无法推荐,您的办公 table 带无法正常工作的可能性很大。问题在于 CLR 版本注入(inject)问题,一个进程(如 explorer.exe)只能加载一个版本的 CLR。如果版本错误,您的桌面将无法使用。
.NET 4.0 中添加了针对此问题的非常具体的对策,其 CLR 支持 CLR 的进程内并行版本。换句话说,在单个进程中加载多个 CLR。该功能适用于这种特定情况,即需要 CLR 的 COM 服务器,因为它是用托管代码编写的。因此,绝对要求您编写面向 .NET 4.0 或更高版本的扩展。
但仍然存在一个遗留问题,也是微软仍然不支持 shell 扩展这种场景的核心原因。有一个“谁先来”的问题。尽管有不要这样做的警告,但仍有使用托管代码和 objective-c LR 版本 2 的 shell 扩展。如果这样的扩展在你之前被加载,这是一个完全随机的事件,因为它取决于顺序注册表中的键,Explorer 可能首先加载 CLR 2。这会阻止进程内并排功能发挥作用,只有在首先加载 CLR 版本 4 时才会有好的结果。
这是完全无法诊断的,当无法加载扩展时,Explorer 不会发出吱吱声。而且对于普通用户来说无法修复,您不能指望他会修改晦涩的注册表项。
要完全解决这个问题还需要很长时间。实际上,Windows 需要停止支持 .NET 4 之前的 .NET 版本才能获得保证。 Windows 8 一开始没有默认安装 .NET 3.5,但添加它仍然非常容易。因此,请花很多时间,十年或更长时间。
好吧,小心点,如果你不担心随机失败,你可以让它在 C# 中工作。接下来您将陷入非常晦涩的 COM 接口(interface)细节中,从中幸存下来需要黑带技能,知道如何正确声明 [ComImport] 接口(interface)。这不是你应该自己解决的事情,别人已经做到了。我没有推荐产品的习惯,但不能跳过推荐EZShellExtensions ,一个专门设计用于帮助在 C# 中编写 shell 扩展的库。支持 deskbands 是其宣传的功能之一。使用试用版来修补这个,看看你是否能把它画好。
关于c# - 如何将我的自定义工具栏(DeskBand?)放在 Windows 7 win WPF 的任务栏上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13889290/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我们有一个应用程序,它显示一个小的“总在最上面”窗口。一般来说,这工作得很好。与其他应用程序一样,当它处于事件状态时,任务栏将其显示为已选中。 现在将幻灯片模式下的 PowerPoint 添加到组合中
我刚刚用 java-swing 为我写了一个桌面时钟,我希望每次登录时该时钟都运行。 为此,我将我的 jar 文件添加到 start 文件夹,我让时钟开始运行。 但我的问题是 - 任务栏中显示的图标允
有谁知道如何在任务栏中为程序设置自定义图标? 我知道您可以创建程序的快捷方式,以便在程序的左上角获取您想要的任何图标(引用下图),但如何让程序在任务栏中获取新图标? 最佳答案 任务栏中显示的图标是可执
我想知道任何类型的 API 或解决方法(例如脚本或注册表),以将 Windows 任务栏移动(或调整大小)到另一个位置,包括另一个显示器(如果是双显示器)。当然,我们可以使用鼠标移动任务栏,但我想通过
如标题所示,是否有任何 Win32 API 可以做到这一点? 最佳答案 不要这样做。 我 99% 确信没有官方 API,这与没有 programmatic access to the old Star
我正在编写一个小程序来解决与 16 位程序的兼容性问题。此修复是关闭 explorer.exe,因为 explorer 会覆盖程序中的某些调色板。之后,我们重新打开资源管理器。 当使用 .bat 文件
Windows 7 任务栏按钮绘制在阴影背景上。颜色阴影以某种方式对鼠标在按钮上的位置使用react。 我想在我的应用程序中使用这样的按钮。我该怎么做? 最佳答案 也许试试 绘制主题背景 http:/
我正在尝试创建一个由在一个窗口中运行的选项卡(而不是浏览器选项卡)组成的任务栏。 我需要跟踪每个选项卡中发生的事情,每个选项卡都有单独的面包屑。(为此,我想也许在每个选项卡的浏览器中使用一个 cook
我创建了没有任务栏的 WinCE 6.0 镜像。所以所有应用程序都最大化到全屏。我想创建自己的应用程序,如任务栏。我只想向这个任务栏添加几个按钮。但我希望其他处于最大化模式的应用程序不要隐藏此任务栏。
我是中级 jquery 经验,所以我需要一个很棒的界面演示的帮助: Demo 但我不知道为什么它不拖到具有相同 ID 的“#drophere”的其他 div。请让它像 Windows 任务栏一样工作。
我正在使用 JFrame 为桌面应用程序创建 GUI。我使用此代码根据平台屏幕的分辨率设置的 GUI 的大小。 this.setSize(this.getToolkit().getScreenSize
首先,我知道 SO 中有一个类似措辞的问题,但没有得到正确回答,围绕它的大部分讨论都落在了“你不应该那样做”上。 所以让我们从基础开始。为什么需要这个。 我在一家公司工作,该公司向我们的员工分发了几十
我想弄清楚如何在任务栏上显示进度。通过 PowerShell。 据我了解,我应该使用这样的东西: $Progress = [System.Windows.Shell.TaskbarItemInfo]:
是否可以从 Win7 任务栏捕获“实时”缩略图?我想在我的应用程序中显示此预览(另一个窗口的),但如何使用 .NET 提取这些预览? 最佳答案 是的。 MSDN Magazine explains h
我想在 C# 中模拟类似于 Windows 任务栏的东西。我想要一个表格底部的栏(我的意思是主表格)。当我打开新表格时,表格名称放在栏上,当我打开另一个新表格时,新表格名称放在栏上......另一方面
我使用 tabcontrols 创建了一个任务栏,它的工作方式与 Windows 任务栏类似。我想让我自己的任务栏固定在窗口的顶部。 它不应该是可移动的、可调整大小的,并且应该“停靠”到顶部。 最佳答
我们有一个主应用程序,它加载了几个插件,这些插件有自己的图标和子窗口。 问题出在 Windows 7 中,任务栏中的图标始终是主应用程序的图标,即使在子窗口中也是如此。但是,Alt+Tab 菜单会显示
我想为 Windows 制作一个二进制时钟。但我希望它替换默认时钟(有 2 个时钟不是最佳选择)。 因此,其中一种方法就是在旧时钟之上绘制我的二进制时钟。我怎么做?允许使用外部库。 我试过这样的东西:
为了简洁起见:我正在尝试实现 this使用 wxPython,但我正在努力将该代码放入基于 wxPython 的脚本中。 我的简单 PyQt 测试代码运行良好。这是: from PyQt4 impor
我是一名优秀的程序员,十分优秀!