#StackBounty: #windows-7 #windows #windows-registry #context-menu #regedit In the Windows Registry, what is the ProgrammaticAccessOnly …

Bounty: 50

This is a follow-up question from this one. As demonstrated by that answer, ProgrammaticAccessOnly can be used to hide certain context menu items without disabling their underlying or related functions.

In this way, it seems like a more useful analogue to the LegacyDisable string value, in that it can be used to disable registry functions in a less destructive way than LegacyDisable does.

However, as with many other Registry value-data pairs, actual documentation on the value and how exactly it works, from Microsoft or other authoritative sources, are hard to come by. All I’ve been able to find outside of disparate forum posts is the following, from a tutorial here:

ProgrammaticAccessOnly is a special value that hides a context menu entry but allows programs to access it if required.

This is far from comprehensive, and I doubt the value’s scope is limited to context menus. For example, ProgrammaticAccessOnly=Apartment is detailed at least once here, with no explanation of what it does or other data types.

How exactly does the ProgrammaticAccessOnly string value in the Registry work? Are there any caveats to always using it over LegacyDisable? Also, what is a list of all the possible data types that can be used with it?


Get this bounty!!!

#StackBounty: #windows-7 #windows #windows-registry #regedit In Windows, what is the "LegacyDisable" string value and what ex…

Bounty: 50

In the Windows registry, adding the LegacyDisable string value to a key serves the purpose of instructing Windows to disregard the key, its values and any of its subkeys and subvalues, effectively disabling it.

For example, adding the LegacyDisable string value to the following key:

HKEY_LOCAL_MACHINESOFTWAREClassesFoldershellopennewwindow

…disables opennewwindow, removing the “Open in New Window” item from Windows Explorer’s context menu. CCleaner‘s context menu cleanup tools also make use of LegacyDisable for this purpose.

However, documentation on the string value seems non-existent; I’ve not been able to find anything at all documenting it, either on here or via Google, so I’m left confused about where it came from, whether disabling registry keys is all it was ever intended for, and why it’s not documented.

Is disabling registry keys LegacyDisable‘s only purpose?

When used to disable registry keys, how does its behaviour differ from the other method employed by CCleaner – prepending plain text to a string value’s hex data? Why does CCleaner employ both methods?


Get this bounty!!!

Configuring maximum number of simultaneous open WebSockets (for IE)

Given I’ve got this JS application. All client side JS communicating using web sockets. One page may have multiple web sockets open as many as 10-15.

Firefox and Chrome handle this many open web sockets at once just fine. IE11 seemed to have a limitation of 6 open web sockets at once.

Once I open that 7th web socket, regardless of socket call to the third-party server, I got an error thrown by IE, which closes the socket and gives the general error “SecurityError” and expanding the __proto__ section it gives me . The error seems to be pretty generic.

At first it looks as if there may be a trusted zone type issue with IE, but even after adding the client site to trusted zone as well as the server providing the data, the error still persisted.

Solution

This site shows the max connections settings for IE. It’s a registry setting in Windows that controls the amount of web socket connections.

Interestingly enough, By default, windows doesn’t have that registry key, but there is still a limit. Therefore you have to add the Registry in order for this to work.

The MSDN Section mentions:


WebSocket Maximum Server Connections

Internet Explorer 10. When enabled, the FEATURE_WEBSOCKET_MAXCONNECTIONSPERSERVER feature sets the maximum number of concurrent WebSocket connections allowed to a single host. The minimum number that can be specified is 2 and the maximum value allowed is 128.

The default value for this setting is 6 in Internet Explorer and applications hosting the WebBrowser Control. To modify this feature by using the registry, add the name of your executable file to the following setting.

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
   SOFTWARE
      Microsoft
         Internet Explorer
            Main
               FeatureControl
                  FEATURE_WEBSOCKET_MAXCONNECTIONSPERSERVER
                     contoso.exe = (DWORD) 0x00000006 (6)

This should fix the problem.

Source

MSDN