MCPcopy Create free account
hub / github.com/WinMerge/winmerge / IsShellExtensionRegistered

Function IsShellExtensionRegistered

Src/PropShell.cpp:40–55  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38static const tchar_t* f_RegValueUserTasksFlags = _T("UserTasksFlags");
39
40static bool IsShellExtensionRegistered(bool peruser)
41{
42 HKEY hKey;
43#ifdef _WIN64
44 DWORD ulOptions = KEY_QUERY_VALUE;
45#else
46 auto Is64BitWindows = []() { BOOL f64 = FALSE; return IsWow64Process(GetCurrentProcess(), &f64) && f64; };
47 DWORD ulOptions = KEY_QUERY_VALUE | (Is64BitWindows() ? KEY_WOW64_64KEY : 0);
48#endif
49 if (ERROR_SUCCESS == RegOpenKeyEx(peruser ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE, _T("Software\\Classes\\CLSID\\{4E716236-AA30-4C65-B225-D68BBA81E9C2}"), 0, ulOptions, &hKey))
50 {
51 RegCloseKey(hKey);
52 return true;
53 }
54 return false;
55}
56
57static bool IsWinMergeContextMenuRegistered()
58{

Callers 2

WriteOptionsMethod · 0.85
UpdateButtonsMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected