0

我正在开发包含两个表单的 Windows 表单应用程序。一个在点击另一个时被隐藏。一次只能看到一个表单。我已经禁用了他们两个的 Win+D 键。为此使用了以下代码

ntPtr hprog = NativeMethods.FindWindowEx(NativeMethods.FindWindowEx(NativeMethods.FindWindow("Progman", "Program Manager"),
IntPtr.Zero, "SHELLDLL_DefView", ""),
IntPtr.Zero, "SysListView32", "FolderView");
NativeMethods.SetWindowLong(this.Handle, GWL_HWNDPARENT, hprog);

但是当我按 Win+D 时,桌面会被禁用,要激活桌面,我需要再按一次 Win+D。这两种形式都在发生。你能证明这是什么原因吗?无论表单是打开还是关闭,我都需要桌面始终处于活动状态。这仅在某些 PC 上发生,并非在所有 PC 上发生。我正在使用 Windows 7 和 Dot NET 4.0。

4

1 回答 1

1

这可能不是您想要养成的习惯。大量用户使用 Windows 快捷键,我的意思并不仅仅指精通计算机。我的妻子是一名护士,她使用其中一些。

您正在尝试为使用您的应用程序的每个人更改 Windows 的默认行为,这仅在您为“锁定”系统创建本机应用程序时是一个好主意。如果环境不允许使用 Windows 快捷键,那么您可以更改它们。

试图强迫用户做事绝不是正确的想法。

于 2013-02-26T14:00:25.773 回答