I’m running Windows 8.1. Lately, when I’m in File Explorer, I right-click, the menu takes a very long time to appear. For example, if I wanted to delete a file, I can use the delete key and get the normal immediate response but the right-click takes seconds to appear. For Delete, the keyboard is an easy and fast work around even for multiple files. But Rename? Or Open with? And yes, I back up, I really do. I’ve now restored back about as far as I want to go with no improvement. I’d be willing to go further back if there’s a specific program I could look for. Any ideas?
You know, Windows often gets the blame for this kind of thing but it turns out it’s rarely Windows’ fault. If anything it’s Windows fault for being so accommodating with the various programs that you can install.
Become a Patron of Ask Leo! and go ad-free!
Extending Explorer
You may have noticed that programs can add things to that menu that pops up when you right-click on a file in Windows Explorer. Sometimes when you install software, there might even be an option to the effect of “add context menu”, or something like that.
That right-click menu is called a context menu because what it contains varies depending on what you click on, or the context. If you right-click on a jpeg file, you might get some things that you wouldn’t see if you clicked on a .doc file, and so on.
What happens is that between the time you click and the time the menu is displayed, Explorer needs to figure out which items to put on that context menu. It does that by actually running some software provided by each of the programs that might handle a file asking, “Is this you, and if so what should I put on the context menu?” If you have a lot of programs installed that potentially provide context menu items, it has to ask each one.
Now, normally, it’s a pretty quick decision. However, there are scenarios where one of those handlers needs to do some work to determine whether or not it should be on the context menu.
Delaying Explorer
Your delay could be caused by a badly written handler for one of those programs that you perhaps have installed recently.
It could be that you’re right clicking on a file that's on a network connection, or on an idle USB drive, and the handler actually needs to open and read the file a bit to figure out what to do. That could cause a delay while a network connection is re-established, or while a USB drive spins up.
And it could also be your anti-malware software looking at the file. I’ve heard that some can and do insert themselves at this point.
Speeding up Explorer
So, what to do? Well, step one of course is to think about what software you may have installed recently, especially if the problem began about the time that you installed that software. See if the software has something that can appear on the context menu.
Step two, of course, is to right-click on a number of different types of files and see if you can identify all of the programs that have added things to the context menu. You need to right-click on many different types of files, because even though you may not see handlers in the pop-up menu, they’re may actually be called even if they don’t have anything to display.
In both of these cases, see if there is an option in the program that you’ve identified, or in its setup, to not have a context or right-click menu item. If you can, turn it off. If there is no such option, consider uninstalling the software and seeing if that makes a difference. If it does, look for that option when you reinstall, or complain to the vendor if that option doesn’t exist.
Do context-menu-active programs make an entry in a specific place in the registry that could be used to get a list of possible culprits?
Timely post: I’ve recently started seeing an odd case where the context menu for a file in the standard Widows Open File dialog is slow even though the context window from standard Windows Explorer window on the same file is fine. Yet the content of the menus is identical!?!
I *think* ShellExView ( http://go.ask-leo.com/shexview ) will show that. Be forewarned – this is quite complex.
Even with this though, I still maintain it’s Windows’ fault ;)
Surely a far better thing to do would be to always display the context menu after a set timeout period (a second say), regardless of whether all the handlers have finished executing (perhaps with stubs for the bits that haven’t loaded yet) then dynamically add or enable the menu items when the relevant handlers have finished executing.
Granted, it’s a bit more complex to code, but that way at least users can access the bits of the menu (in all likelihood all but one 3rd party addon) that have loaded straight away, rather than waiting for a badly written application to finish running to provide them with a menu item they don’t even want!
how it is not windows’s fault though?
If the windows API allows a third party program to affect its performance how is this colossal bad design “not their fault”?
how about giving at least the option to say, do not allow hanlders or anything affect the operating system .. EVER?
let me just say here that I am a programmer my self, and I have only installed google drive. (to sync my code to other machines for testing purposes) and code blocks to compile the program I am maintaining
problem started after yet another shitty update from 8 to 8.1
how laughable is that.
it seems that windows is anyway indexing properties for the files in a single thread and then display the menu. (so it is defacto slow)
(but a badly written handle just makes things worse) I only see sky drive in that menu, (not google drive) so probably the mandatory update fucked up google drive, and therefor the operating system it self.
such an epic fail, but yet another one. in a cesspool of windows bugs
a few months ago
on the same machine ( a brand new hp laptop) an update from 8 to 8.1 resulted to a corrupted graphics card driver problem, so All I saw after the update was a black screen, apparently windows 8.1 was not supporting my graphics card at the time.
anyway I formated the machine and just stayed away from 8.1 for a while. until the update was mandatory (literally after denying for a few months they gave me no deny option and on next reboot they “updated”)
windows is just a badly written operating system – horrible to be honest.
and of-course it is their fault.
CCleaner, from Piriform, allows you to enable/disable context menu items, in the ‘startups’ section.
Use Long Path Tool, Long Path Tool can simplify and probably end your problems in unlocking, managing and renaming files that appear to have a long filename.
I’ve been having slow “context menu” responses for a couple of weeks but only after my computer has been on for several hours. It works normally at first. I discovered that moving the cursor to the task bar and back again significantly improves response time. So that, instead of waiting for a renaming to take effect, I move the cursor around and the context menu responds almost instantly. I have no idea why, but it beats sitting and waiting!