按WIN + D激活桌面

时间:2013-02-26 13:47:46

标签: c# winforms

我正在处理包含两个表单的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。

1 个答案:

答案 0 :(得分:1)

这可能不是你想养成的习惯。非常多的用户使用Windows密钥快捷方式,我并不仅仅意味着计算机的匮乏。我的妻子是一名护士,她使用了其中一些。

您正在尝试为使用您的应用的所有人更改Windows的默认行为,这只是为“锁定”系统创建本机应用时的一个好主意。如果环境不允许使用Windows密钥快捷方式,则可以更改它们。

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