C# ShowWindow API在Windows 7中失败
两个星期以来,自从我安装Windows7以来,每天我都在努力工作。在XP中工作正常的东西。它让我发疯,毒害我的生活,毁了我的日子。为什么这么简单的任务如此混乱 我想我在Windows7中发现了一个bug,特别是在标准主题(Aero)中ShowWindow函数的工作方式 为了演示这一点,我上传了2个C#WinForms应用程序及其源代码 HideableApplication表示一个应用程序,当您关闭它时,可以将其隐藏在SysTray中。双击SysTray图标将显示该图标,右键单击将显示“退出”选项 HideableApplicationRevealer尝试显示HideableApplication的窗口 我之所以需要完成这项任务,是因为我将我的Total Commander和FireFox最小化到托盘中,并希望通过热键将它们带回来。Total Commander提供了这样一个功能,但它已被破坏 在WindowsXP上,我使用附带的代码成功地完成了这两项任务,没有任何问题 在Windows7上,这种行为最好是不稳定的,最坏是不起作用的 当HideableApplication在Visual Studio中运行时,一切正常:C# ShowWindow API在Windows 7中失败,c#,winapi,windows-7,C#,Winapi,Windows 7,两个星期以来,自从我安装Windows7以来,每天我都在努力工作。在XP中工作正常的东西。它让我发疯,毒害我的生活,毁了我的日子。为什么这么简单的任务如此混乱 我想我在Windows7中发现了一个bug,特别是在标准主题(Aero)中ShowWindow函数的工作方式 为了演示这一点,我上传了2个C#WinForms应用程序及其源代码 HideableApplication表示一个应用程序,当您关闭它时,可以将其隐藏在SysTray中。双击SysTray图标将显示该图标,右键单击将显示“退出”
- 试图通过VisualStudio=>SUCCESS中的HideableApplicationRevealer显示它
- 试图通过手动执行调试文件夹中的HidebLeapApplicationRevealer.exe来显示它=>SUCCESS
- 通过键盘快捷键运行HideableApplicationRevealer.exe尝试显示它=>成功
- 尝试通过使用管理员权限=>成功的计划任务运行HIdeableApplicationRevealer.exe来显示它
- 试图通过Visual Studio中的HideableApplicationRevealer=>显示失败
- 试图通过手动执行调试文件夹中的HidebLeapApplicationRevealer.exe来显示它=>SUCCESS
- 通过键盘快捷键运行HideableApplicationRevealer.exe试图显示它=>失败
- 尝试通过使用管理员权限=>成功的计划任务运行HIdeableApplicationRevealer.exe来显示它
- 通过键盘快捷键(开始菜单)运行HideableApplicationRevealer.exe(已授予管理员权限=>SUCCESS)尝试显示它
- 试图通过手动执行调试文件夹中的HidebLeapApplicationRevealer.exe来显示它=>SUCCESS
- 通过键盘快捷键运行HideableApplicationRevealer.exe试图显示它=>失败
- 试图通过使用管理员权限=>的计划任务运行HIdeableApplicationRevealer.exe来显示它问题:任务栏上的窗口会闪烁而不是显示李>
- 通过键盘快捷键(开始菜单)运行HideableApplicationRevealer.exe(已授予管理员权限=>SUCCESS)尝试显示它
我还应该提到,我知道“ForegroundLockTimeout”注册表设置,并且在注册表中出现的任何地方都将其设置为0。在Windows XP上,它默认设置为0,但在Windows 7中,默认值为200000,我已经更改了。也许它会在某处徘徊???Visual Studio在运行时,在我关闭它时将其设置为200000,直到我重新启动计算机?我查看了注册表,它没有改变,仍然是0。但谁知道呢?不太可能是个bug。可能是故意的。Vista简介