- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这让我感到困惑,我开始相信这是核心 winapi 或 WPF 中的错误。如果这里没有人知道问题的可能原因,我将在 Microsoft Connect 上提交错误报告。
一旦我调用 Window.Show()
,问题就会出现。 ,但根本原因可能在不同的地方,包括之前对 user32.dll 的调用。一旦我调用 Show()
在我的窗口上,我的窗口确实出现了,但另一个窗口在任务栏上弹出但不可见。此外,单击它不会使该窗口可见。
我试图显示的窗口设置了以下属性,这似乎是导致这种奇怪行为所必需的。更改其中任何一个“修复”此问题。
WindowStyle="None"
WindowState="Maximized"
ShowInTaskbar="False"
// Hide windows.
var hideWindows = _windows
.Select( w => new RepositionWindowInfo( w.Info ) { Visible = false } );
WindowManager.RepositionWindows( hideWindows.ToList() );
RepositionWindows
方法有点长,这里发一下,大家可以看看
in its entirety on github .它使用
BeginDeferWindowPos
,
DeferWindowPos
和
EndDeferWindowPos
.
Visibility
显示/隐藏我的窗口时属性而不是使用
Show()
和
Hide()
所描述的行为在某些情况下也不会发生(稍后会详细介绍)。但是,
according to the documentation on msdn :
Calling Show achieves the same end result as setting Visibility property of the Window object to Visible. However, there is a difference between the two from a timing perspective. Calling Show is a synchronous operation that returns only after the Loaded event on the child window has been raised [...]
ShowWindow
隐藏一个特定窗口.如果在我显示我的窗口(使用快捷键)之后立即再次出现问题,无论我是否使用
Visibility
或
Show()
显示窗口。但是,如果我使用
ShowWindowAsync()
隐藏窗口,一切又好了。
最佳答案
我想我已经确定了导致这种情况的核心问题。当窗口被隐藏时,另一个窗口被激活。但是,似乎只有任务栏上的窗口处于事件状态。当我隐藏所有窗口然后调用 GetActiveWindow
它表示没有窗口处于事件状态(返回值 null)。
当随后显示一个不应出现在任务栏上的窗口时(无论是使用 Show()
还是 Visibility
),隐藏的窗口将显示在任务栏上。
解决此问题的解决方法是在延迟窗口定位操作后检查是否有任何窗口处于事件状态。如果没有,我现在将重点放在任务栏上。下次显示非任务栏窗口时,该错误不会出现!
succeeded = User32.EndDeferWindowPos( windowsPositionInfo );
if ( succeeded && User32.GetActiveWindow() == IntPtr.Zero )
{
WindowInfo startBar = GetWindows()
.Where( w => w.GetClassName() == "Shell_TrayWnd" ).FirstOrDefault();
if ( startBar != null )
{
User32.SwitchToThisWindow( startBar.Handle, false );
}
}
关于wpf - 调用 `Show()` 时任务栏上显示错误窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16835423/
关闭。这个问题不符合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
我是一名优秀的程序员,十分优秀!