Windows桌面键盘快捷键缓慢


45

我在桌面上有几个快捷方式,其中一些快捷方式已将“快捷键”配置为键盘组合。比如我有一个快捷方式指向d:\documents\todo.txt我已经设置Shift+ Alt+ T。这自然会使用记事本打开。

双击图标总是会立即打开文本文件。尽管有时使用键盘快捷键的速度非常慢(5-10秒)。请注意,在此期间,CPU利用率不会上升。

Windows XP(各种版本)和Windows 7中的所有机器(旧的和新的超快包装盒)都会发生这种情况。

对此有很多问题,但没有解决方案。

是否有对此问题的解释和解决方案?

编辑:行为不一致。我有30个桌面快捷方式,其中5个已分配了键盘快捷方式。我对该Windows功能的软件替代品不感兴趣。我想知道问题是什么以及如何解决。


在安全模式下启动时会发生这种情况吗?如果不是,请尝试关闭防病毒或其他安全产品。如果这样做有帮助,请告诉我们是哪个产品引起的。
harrymc

@Psycogeek:很好的观察,但是D:或休眠的驱动器与此无关。
cherouvim

如果我观察得更近一些:-(,我会注意到您的快捷方式工作正常。只有键盘快捷键才有延迟。您自己的“ Windows”快捷键都不慢吗
Psycogeek

1
我杀死了Logitech的鼠标参数软件“ SetPoint.exe”,它解决了我的问题
Goldorak84 2013年

5
我参加聚会很晚,但是最近遇到了同样的问题。我编写了一个快速实用的实用程序来查找未响应热键请求消息的进程。我会将代码发布在此处作为答案,但我不能这样做,因为该问题受到保护,而且我没有所需的代表(尽管我的个人资料声称我有101个,只需要10个)。我写了一篇有关它的博客文章,您可以在其中获取代码。我为伪垃圾邮件道歉。当我有必要的代表时,我将在此处发布代码作为答案。
Bob Mc

Answers:


41

最初的问题与Windows 7有关,但是由于Windows 10中的新原因,现在已经在发生。这是处理这两种情况的通用答案。

一般问题

在2012年MSDN上,该问题及其起因有很好的解释,为什么有时在按下快捷键的热键和打开快捷键之间会有很长的延迟?

执行摘要:在通过快捷键启动程序之前,Windows首先轮询所有当前正在运行的程序,并询问“这是您的快捷键吗?”。如果是这样,它会将焦点切换到该窗口,而不是旋转程序的新副本。

当某处的窗户拒绝回答该问题时,就会发生问题。这可能是一个由于某种原因而无响应的程序,尽管它也可能由于其他原因而发生(请参阅下文)。Windows等待3秒,然后喃喃地说“混蛋”,然后转到下一个窗口,询问相同的快捷方式问题。

查找无响应的程序

  1. 启动Windows,然后在打开任何其他程序之前尝试使用快捷键。您有延迟吗?如果是,请执行步骤3。
  2. 启动您通常运行的任何其他程序。您有延迟吗?如果没有,请等到您这样做。
  3. 一一停止每个互动程序;使用Alt-Tab循环浏览它们,以确保您已掌握所有内容。停止每一个之后,查看快捷方式延迟是否已消失。
  4. 还有延迟吗?使用任务栏的通知区域(也称为“系统托盘”)中的图标执行相同的操作:右键单击并退出,然后检查每个快捷方式的延迟。您可能需要扩展通知区域才能看到所有这些图标。

既然您了解了罪魁祸首,那么您就可以决定:该程序值得它引起的延迟吗?例如,Adobe Creative Cloud有时会给我造成问题,因此我只是告诉它Windows启动时不要运行。我仍然可以在不运行Illustrator的情况下使用它。

如果您不能没有该程序,则可以使用快捷键延迟,或者按照“用户99572很好”的建议使用,请尝试使用诸如AutoHotKey之类的宏程序。

Windows 10:操作中心

Windows Action Center也可能导致延迟。(这在Windows 8中也可能是一个问题;我从7跳到了10)。每当您看到以下内容时:

在此处输入图片说明

这意味着操作中心具有供您查看的系统通知,即使操作中心本身并不是无响应的,也会导致快捷键延迟。

单击该图标并清除通知,然后该图标将如下所示,并且Action Center应该不再导致快捷键延迟:

在此处输入图片说明

如果通知反复出现,但您发现它无济于事,请右键单击它,并告诉Windows关闭该应用程序的通知。

但是...即使没有通知在等待,有时Action Center也会引起问题。即使没有通知显示,我也经常通过打开和关闭Action Center来解决此问题。您可以使用[Windows] -A快捷键组合快速完成此操作。

Windows 10:无响应的后台进程

有时后台进程也可能导致此问题。特别是两个:

  • 计算器
  • 商店

可能还有其他罪魁祸首。重要的是,由于某些原因,这些是前台应用程序,即使您可能尚未实际运行它们,它们也显示为后台进程。此问题可能在其他应用程序中发生,并且可能仅限于Metro应用程序(TBD)。

您可以使用以下某些或全部技术来消除这些过程:

  1. 每当您发现它们时,请使用任务管理器手动将其杀死。
  2. 如harrymc对相关超级用户问题的回答中所述,请在“设置”>“隐私”>“后台应用程序”中关闭特定的后台应用程序。并非所有应用程序都可以通过这种方式关闭。
  3. 如Helen对上述超级用户相同问题的回答中所述,禁用Superfetch。

使用#2和#3技术后,这些恶意后台进程不再出现在我的计算机上。

Windows 10内部版本1809(2/2019)中的新问题:设置应用

Windows的此版本引入了一个新的有害的快捷方式禁止器。一旦启动Windows,请转到任务管理器。如果看到“设置”作为后台任务运行,则会出现问题:

设置作为后台进程运行

如果您取消了此任务,快捷键将再次快速,但是“设置”应用程序将在稍后重新出现,从而重新引入了问题。

其他...

3秒的超时可能不会导致每个键盘快捷键延迟。

我的一台笔记本电脑,每当Adobe Creative Commons在后台运行时,我有时会遇到启动应用程序之前长达30秒的延迟。这是放弃无响应进程之前,超时窗口使用的超时时间的10倍,因此在这种情况下,必须进行其他操作。


2
如果有人是Win10“内幕人士”,则可以通过反馈工具将其作为反馈发送。
VoidStar

1
Windows 10和Calc问题在一起:(
kokbira

7
只是想确认“在Settings-> Privacy-> Background Apps中关闭特定的后台应用程序”确实确实加快了全局热键速度。顺便说一句,我通过从“开始”按钮输入“设置”到达了那里。当我看到Background Apps列表时,我有些震惊,我不知道它们在那里,因为我仍然像PC而不是平板电脑那样使用计算机。我关闭了整个列表,事情变得更加迅速。顺便说一句,我也有一个SSD驱动器,关闭了搜索索引功能并没有明显提高速度。很棒的建议。
sthede '16

2
目前,在Windows 10上,版本1709和“在Settings-> Privacy-> Background Apps中关闭特定的后台应用程序”可以达到目的。我关闭了不必要的应用程序,现在桌面热键始终会立即打开exe。感谢您的建议。
黑暗骑士

2
2019在这里。杀死“设置”应用对我来说是成功的窍门。
AngryHacker

15

如果您使用的是Windows 10,请尝试杀死“ Application Frame Host”(ApplicationFrameHost.exe)。这使延迟在我的系统上消失了。

请注意,如果您取消了此过程,它将关闭您正在运行的所有现代应用程序。


2
欢迎来到超级用户。您能否提供更多详细信息?杀死此可执行文件有哪些可能的副作用?为什么该程序会导致快捷方式出现问题?
我说恢复莫妮卡2015年

2
这是现代的应用程序主机。如果您将其杀死,则无法运行现代应用程序。无论如何,大多数人都不在乎这一点。引起问题的原因是由于某种原因,它监听所有可能的快捷方式注册,而Win10之前并没有这样做。Windows似乎总是无法很好地处理多个竞争的快捷方式注册,这导致了延迟。该线程中的每个答案都以某种方式与这种竞争性注册相关,但是Windows 10引入了ApplicationFrameHost.exe作为新的元凶。
VoidStar

1
任何想法如何解决这个问题?我每天必须多次取消该****过程,而且我没有使用任何“现代”应用程序。
icl7126

@VoidStar这是唯一为我工作的解决方案,谢谢。W10有时很奇怪,我将通过反馈程序进行报告,每个人都做同样的事情,并且此错误将得到修复。
Alex Zhukovskiy

4
@AlexZhukovskiy将此保存为.bat文件:Taskkill /IM ApplicationFrameHost.exe /F。但是我找到了另一个解决方案:禁用SuperFetch所有问题,即使此进程正在运行,快捷方式也可以使用。(您可以SuperFetch在的服务列表中找到SysMain
icl7126 '16

9

我的个人经验是,有一个程序延迟了Windows对热键的处理。对我自己来说是Steam,对安德里亚斯来说就是Akamai。

要诊断哪个应用程序负责,只需关闭一个应用程序,然后再次尝试您的热键。确定了罪魁祸首后,请确定该服务是否可以始终不运行而应对。

我知道这是一个相当老的问题,但是在找不到答案后,我偶然发现了解决方案,并感到有必要与社区分享。


对我来说,这是setpoint.exe,这是罗技的鼠标软件
Goldorak84

6
我现在在Windows 10中有此问题。罪魁祸首是“应用程序框架主机”。
彼得·奎林

1
FWIW,Adobe Creative Cloud为我造成了这个问题,有时会给每次应用启动带来长达30秒的延迟。但是,在禁用Adobe CC的全新Windows 10安装下,我现在遇到了问题。独立研究此问题...
Andy Giesler 2015年

4

该问题可能与Windows如何找到这些快捷方式有关。任何有理智的人都可能希望他们将快捷方式数据存储在注册表中,注册表位于RAM中,然后将其他所有内容都放在其中。:-)

而是.LNK和.URL的关键快捷方式位于快捷方式本身内。

如您在图片中所看到的,在尝试查找注册表中的位置(不是)之后,我发现了快捷方式自身数据本身的变化。

在两个“主要”位置中,可以从“开始”菜单中的所有位置以及通过桌面文件夹扫描此数据。

当人们发现删除某个程序或某个Web程序可以“解决”问题时,可能与项目,映射或“开始”菜单或桌面中某些未经批准的内容有关?

在意识到所使用的方法之后,很容易就可以接受使用Windows以外的其他方法的建议来做同样的事情。


使用的记事本快捷方式,也将添加延迟微生物。文本文件本身的快捷方式(最终将打开记事本)将经历一个有趣的过程。在注册表中找到该类反弹,找到关联的程序,打开该程序,然后传入该参数。

大多数程序快捷方式可以"C:\Windows\notepad.exe"在多个环境变量路径中用引号引起来,而不是使用环境变量来最终定位程序。许多程序喜欢将其程序路径填充到环境变量路径中,甚至通过使行变长而破坏了“搜索路径”。

大多数程序快捷方式也可以在带引号的程序路径之后放置带引号的参数"d:\documents\todo.txt"。这样一来,计算机无需搜索或猜测就可以直接找到文件,并立即将文件传递给它。(引号仅在有空格时才需要。)

如果要查看速度,请尝试"C:\Windows\notepad.exe" "d:\documents\todo.txt"并切断中间商。而是为程序创建一个快捷方式(记事本),然后将.TXT文件的参数添加到程序快捷方式中。OK,就像现在的DOS。:-)但是更快。

要检查环境变量(仅用于特定问题),请转到“系统”,然后在“系统属性”的“高级”中调出“环境变量”,并查看PATH变量中的混乱情况。


这个答案真的不对吗?
Pacerier '17

@Pacerier,您认为它的哪一方面不正确?它可以“解决”原始问题吗?不接受。它是否反映了快捷方式系统存在的所有问题?,不。与XP和Win7有关吗?是的,有关Windows 10的其他问题的原始问题是吗?不,不是,但是很酷。
Psycogeek '17


1

我无法重现您的问题,并且不记得在我的任何计算机上都遇到过该问题。单击打开快捷方式没有任何区别。这些快捷方式中,我只有极少数,只有2个。

  • 是否有监听所有设备上安装的热键的软件?也许这会导致快捷方式被缓慢识别?它可以是具有全局热键的任何应用程序。您必须手动将它们逐一关闭,以查看是否有任何不同。
  • 有多少个快捷方式?10、20、30?如果数量很多,也可能意味着反应时间变慢。

为了加快速度:您可以尝试使用第三方软件来管理您的快捷方式(例如AutoHotkeyPhraseExpressClavier +(所有这些都可以通过便携式应用程序获得)。希望它们可以更快地运行。在闪存驱动器上以在多台计算机上使用。


感谢您的回答。我已经用一些数据更新了我的问题。
cherouvim 2012年

1

由于在安全模式下不会发生这种情况,并且我本人也从未遇到过这种速度变慢的情况,因此您安装的某些产品一定会引起问题。

我建议使用自动运行 ,关闭启动程序在束,直到它缩小到一个导致它。

您还可以使用Revo Uninstaller Freeware检查已安装的产品, 并卸载不需要的或不喜欢的产品。Google会仔细寻找您不知道的产品。

我还建议将来安装一些安全套件。有很多免费的防病毒产品以及免费的反广告软件,而没有其中一些只是在自找麻烦,就像晚上不锁门一样。

我并不是说您的计算机已被感染,但这是发生这种奇怪行为的一种可能性,因此使用几种著名的防病毒产品进行全面扫描仍然是一个好主意。请参阅如何清洁受感染的计算机


1

原因是DDE。我不知道此问题通常归结为消息队列崩溃的具体技术细节。

某些应用程序不希望/不能在中断的基础上处理DDE消息,因此,当他们要求的内容到达或广播给他们时,由于它们不在队列中等待,因此它们不提供即时响应。事情得到了备份,而所有依赖DDE的东西都将永远存在。在极端情况下,即使在命令窗口中,有时您也会看到键入的字母由于相同的原因而滞后。

我知道避免此问题的唯一方法是避免随着时间的流逝运行某些应用程序,并且由于反复试验,您会在运行时注意到延迟。可能有一种方法可以进行调整,例如更改超时或隔离DDE广播域或查看DDE的工具,但我对此毫无头绪。


1

我有2秒钟的延迟,我使用Ctrl + Alt + N作为其快捷键来启动记事本。消除延迟的解决方案是禁用Akamai Netsession客户端。

若要查看是否是您的问题,可以打开Windows任务管理器,然后选择“ Netsession_win.exe”,右键单击并选择“结束进程树”。(有两个Netsession条目,其中一个概率生成另一个,选择最终进程树将杀死它们)。

现在,再次尝试使用快捷键。

如果它们现在又快又好,请通过从控制面板中的“添加删除”程序中卸载Akamai NetSession Interface或在msconfig中将其禁用(使其不会自动启动)来使更改永久生效。

这是通过打开msconfig禁用它的方法:

  • 开始菜单/运行/编写“ msconfig” /回车。
  • 切换到“启动”选项卡。
  • 取消选中名称为“ Akamai Netsession Client”的条目。

但是我会卸载它,并且仅在需要时才重新安装。它只是一些公司用于下载其软件的下载代理(我相信Microsoft和Adobe都已使用它)。

这是akamai程序的位置:

c:\Users\myname\AppData\Local\Akamai\netsession_win.exe

希望这会有所帮助。

最好的问候,安德里亚斯


1
谢谢,但我的PC中没有与Akamai相关的任何内容。
cherouvim 2013年

1
那可能是您计算机上的其他程序。我必须逐一检查计算机上几乎所有正在运行的服务和进程-停止不必要的服务和进程,直到找到导致延迟的服务(Akamai)为止。Windows必须“询问”每个正在运行的进程“您将处理此快捷键吗?”,如果该进程犹豫而又不回答,则需要花费几秒钟。我在这里找到了解释:blogs.msdn.com/b/oldnewthing/archive/2012/05/02/10299709.aspx再次阅读该页面,可能仅是进程–服务没有窗口。看看msconfig中的启动选项卡
Andreas Jansson 2013年

1

对我来说(Windows 10 x64)帮助禁用了SuperFetch功能。这项服务(SysMain在服务中称为)Application Frame Host每天导致该过程开始几次,并且该过程导致缓慢的快捷方式。


0

我制作了一个简单的工具来执行热键快捷方式,该工具绕过Windows Shell。

您可以在这里找到它:https : //github.com/rustyx/myhotkey

我自己使用它来快速启动诸如cmd.exe和的操作bash.exe

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.