每次打开资源管理器进程时,都会弹出一个对话框,提示 Windows 找不到文件夹:
每次我登录或手动重启 explorer 进程时都会发生这种情况。我已经通过任务管理器检查了启动程序,%appdata%\Microsoft\Windows\开始菜单\程序\启动文件夹。
我在想注册表中可能还有其他地方可以检查?我还尝试在 C 盘上创建一个名为“programs”的文件夹,每次 Explorer 进程重新启动时,此文件夹都会打开,且没有任何错误。所以有一个设置告诉 Explorer 打开该文件夹C:\程序启动时(无论它是否存在)我只是找不到它在哪里。
这没什么害处,只是很奇怪而且很烦人。提前谢谢。
我在 Windows 8.1 上,如果有帮助的话
答案1
您的一个启动程序指定的路径没有用引号引起来但应该用引号引起来,因此它在“C:\Program Files...”中的空格处被拆分。
您必须找出它是什么,然后删除或修复它。
您可以尝试运行例如CCleaner(清理器和注册表扫描)它擅长查找损坏的快捷方式(以 start => 启动文件夹为例)和其他启动项。您唯一的选择就是删除它而不是修复它,但您也可以查看它找到的内容然后自己修复它,而不是告诉它删除它(如果您愿意的话)。
除此之外(根据您的评论),另一种可能性是,您的某个启动程序可能将文件或路径作为命令行参数,而该文件或路径是“C:\Program Files\something”但缺少引号,然后该程序会生成对话框,抱怨“C:\Program”。
在这种情况下,你可以尝试的一件事就是抓住进程探索器。当对话框出现在屏幕上时,运行它。单击 Process Explorer 工具栏中的目标图标并将其拖到对话框中。它将告诉您哪个进程拥有该对话框,这可以为您提供有关有问题的进程的另一个提示。
您的评估是正确的,它是无害的,当然,它一开始就不应该出现在那里(这不是问题,但可能表明某个安装程序/更新/卸载程序中存在错误)。
答案2
我会检查非 Microsoft 的“Shell Extensions”。这些是充当 Explorer 扩展的 COM 对象(不是 IE,只是 explorer.exe...但它们类似于 IE 插件)。
NirSoft 有一个用于查看它们的实用程序:http://www.nirsoft.net/utils/shexview.html
按公司名称排序,然后禁用所有非 Microsoft 扩展。关闭 Explorer 并启动新 Explorer,看看问题是否已解决。如果已解决,请使用排除法查看哪个扩展是问题所在。
要对启动文件夹和运行键进行真正彻底的检查,请使用 SysInternals AutoRuns 工具。但是,我不认为是这样,因为这些东西只有在您实际登录时才会处理……而不是每次启动新的 Explorer 进程时。