I now experimented with windows registry, but I deleted a "Create new folder..." from the context menu. Now, I have a little problem; in which registry hive is this point stored? I want to restore "Create new folder..."
The question is mostly not for developer. Nevertheless the part of registry which are responsible to create a folder you will find here:
HKEY_CLASSES_ROOT\Folder\ShellNew
It is of course not the only part which you could delete/rename to make the corresponding item in the context menu disappear. I general HKEY_CLASSES_ROOT part is the place which mostly responsible for the problem which you try to solve. It you want to examine your problem more exactly the Process Monitor could be helpful for you. You should have a little experience in setting of filters to reduce the output which you need to analyse.
I Assume that you did not backup the registry before that :)
I suggest to find some good dedicated tool
Here there is some information about managing the Context Menu Entries:
http://windowsxp.mvps.org/context_folders.htm
Doing it manually will be extremely hard ?
Related
I have an application which when I install in Windows 10, need to show up in left navigation pane. Now, I checked how other applications like OneDrive, DropBox which when installed in Windows 10, show up in the navigation pane. Apparently, it was mentioned that there is a DWORD value in registry which controls this behavior which is System.IsPinnedToNameSpaceTree. This value should be set to 1. But, when I tried to create this value in registry manually for my application's registry entries, it did not work for me. I am kind of stuck here. So, can somebody please help me in this regard ?
After lot of search and studying Dropbox entries in the Windows registry, I figured out the answer. We have to create new keys and sub keys with the following values similar to this GUID {E31EA727-12ED-4702-820C-4B6445F28E1A}:
Create a new GUID for the application online.
Search for the Dropbox GUID as mentioned above and add keys/subkeys similar to Dropbox.
After putting entries similar to Dropbox into Windows registry, I am able to see my application in the left navigation pane :-)
However, there is still one issue with this change. After changing the registry entries, a folder in Desktop got created with the name of my application and there is not even a delete option on it, somewhat like Recycle Bin. Any idea how to fix this issue ?
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
With Windows XP I could use the Control Panel to add a new file extension, associate it with a program, and assign an icon to it. I did that using Folder Options in the Control Panel. Folder Options has a tab in it called "File Types".
But Windows 7 Folder Options does not have that tab. And the suggested place for file associations (Default Programs) does not let me add a new extension.
How do I do what I want to (i.e. associate a new extension with an existing program and also apply a new icon to it)?
Unfortunately it's one of those things they made more complicated in an attempt to make it more simple (e.g. you're able to change the associated program, but that's it).
You can either use third party programs or just edit the registry yourself (do not modify the registry unless you're really sure on what you're doing! Mistakes might break settings or even make your system unbootable!):
Right click HKEY_CLASSES_ROOT and pick New, Key. Name it according to your desired file extension, e.g. .ext. If it exists already, you can skip this step.
Set the default value of the key you just created to some unique name that isn't used yet, e.g. MyFileType. Again, if it's set already, skip this step.
Create another new key using the same name you picked in the previous step. Skip this too, if the key exists already.
Set the default value of the new key to the name that should appear in Windows Explorer and other programs as the file type.
Right click the new key and create a subkey DefaultIcon.
Set the new key's default value to C:\Some\Path\To\Your\Icon\Ressource.ico,0 (the 0 is the index of the icon to be used; if there's only one icon in the ressource, it has to be 0).
Create another new key next to DefaultIcon and call it shell.
Now, for each verb/action you'd like to associate, create a new sub key with the desired name. Some verbs are preset and will automatically use localized names, e.g. open, edit or print.
For each verb create a sub key command and set its default value to the program to be run. Also make sure to include all parameters needed, adding quotes if there are spaces inside, e.g. "C:\My Path\My Program.exe" "%1". %1 will be replaced with the actual file name picked for this action.
If "Open With" isn't offered, just click on "Open". If there is no default program already associated with the file type, you'll be given a choice of searching for a suitable program on the Web, or selecting a program from a list of installed programs, just as with the old "Open With".
In Windows 7, you can also right click and go Properties -> General Tab and there is "Open with" and [Change] button. This way you can also set association for a new file type.
For Windows, you can always right click and select 'Open With'. Choose the option that says select a program from a list. You can then select your own program and tell it to open files of such extension with that program by default. To change the icons, this link can help you (Change Windows icon)
To avoid editing the registry, instead create a new file with the desired extension. When you double-click it you will get the Can't Open dialog and you can select a program from a list of installed programs. Browse to select your desired application, add the description and check the always use the selected program. Now the extension is in the default programs list and can be further edited and changed as you are used to.
If 'open with' is available after right clicking, it's pretty straight forward. If not...
Type 'default programs' into start menu, then select 'set associations'.
I don't know why MS decides to sometimes take away the 'open with' option...
Probably to streamline the experience and make it easier to understand (although I don't know why they didn't keep it behind some "advanced" button for power users).
Because that's Microsoft's entire MO in general...presume that every single person that uses their software is incapable of making technical decisions. It would be so simple for them to include one little link in that Default Programs window saying "add an extension", and for that to be linked to another window where you can easily do this within a safe, GUI environment. Instead they force us to edit the registry, which is 10 times more dangerous! And if they're worried about average Joe's wrecking their computers, they could include a simple message box that informs the user of the risk!
Honestly MS, I've been an amateur developer for no more than 10 years, and the biggest software giant in the world can't employ programmers with more, or even an equal level of, knowledge as me?!?! So how did you get to that status in the first place?!?! It really boggles my mind!
Sorry for not actually adding anything constructive to the discussion but this whole perception by MS of its customers as being non-trustworthy little children really cheeses me off...and I came here in search of an answer to the same question that the OP asked, but I guess there is none (other than messing around with the registry, which I really hate doing).
I am planning to start my application whenever the user starts the computer. ASFA I know, there are two options available to me:
put the application link to startup folder
Keep a the startup-registry location updated with application path
However, the problem is, AVs like Kasperesky reports the registry paths (if added by an app) as keyloggers. Just wanted to hear from you people, which is better? Adding a shortcut to startup folder or using the registry way.
I really would prefer that you didn't force my app to start whenever I reboot. So, if you really insist, then please put it in the Startup folder and don't hide it in the Windows registry where I will never be able to find it. There may be times when I need this thing not to start up every time, so please let me do the choosing by putting the shortcut where I can see it and manage it. Otherwise, if it gives me too much trouble, I may just start up Control Panel > Add or Remove Programs, and you really don't want that, do you?
I don't know what their official name is, but I mean these things:
Is there an official API for creating those in my own program?
And related question: Did you ever see these "split menu items" used anywhere other than the start menu? Where? This could point at an API.
Glancing at my own start menu, I'm guessing that most are generated the same way "Recent Documents" used to be done. i.e., observing the files that programs open.
As for new APIs, this page might be a good place to start sniffing around: http://msdn.microsoft.com/en-us/library/ee461765%28VS.85%29.aspx
To create tasks like internet explorer etc, use ICustomDestinationList->AddUserTasks(), the recent items should show up for file types you are registered to handle (They are added by the open/save dialog or manually by calling SHAddToRecentDocs())
Does anyone know (Because on microsoft forums nobody answered me), how can I find what app has which automaticDestinations-ms file in %appdata%\microsoft\windows\recent\automaticdestinations ?
That's the folder where Windows 7 stores its jump lists, and I want to know how to automatically/programmatic find the relation between each file and an application.
At least, even manual I didn't found any pattern, just to look after file extensions in the files, because some programs open files with the same extension (like images), so this method it's not OK for all programs.
Do you have any other idea? Maybe knowing the format of those files?
Thanks.
the GUIDs appear to persist.
I was trying to edit my control panel jumplist - I found where the "Realtek HD audio manager" control-panel-applet-title-string is (using resource hacker on "C:\Windows\System32\RTSnMg64.cpl"), and restored it's original title ("Dell Audio" - 'cause I'm OCD:) but the original pinned Realtek entry is stuck.
A quick filesearch for pinned took me to
C:\Users\Jonny\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned
but I really needed to be # C:\Users\Jonny\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
If you use something like Nirsoft's Jumplist View you can see the entries etc. Sort by "application ID" column to see jumplists by application. You can even change the monitored folder (advanced options).
I'm going to have to delete and recreate my control panel jumplist (7e4dca80246863e3.automaticDestinations-ms).
TIP: If you're not sure which is which, try pinning a new jumplist-entry to an application. This will appear at the top (if sorted by "record time")
The best way to find out is to sort the files by date modified, then interact with your machine, eg open a file with Powerpoint, look and see what file moved to the top. That is probably the file for Powerpoint, which you can confirm by opening it and looking in it.
Then you could build a table of magic guids, and search for those in the registry to see if there is an obvious key connecting the guid to an application id.
Here is a list of 620 applications here with the corresponding App ID byEricZimmerman
https://github.com/EricZimmerman/JumpList/blob/master/JumpList/Resources/AppIDs.txt
eg 0a1d19afe5a80f80|FileZilla 2.2.32
last update 12 days ago