mirror of
https://github.com/BeneficialCode/WinArk
synced 2026-08-09 12:00:31 +00:00
support the HLCU、HKLM etc. in the search edit bar.
This commit is contained in:
@@ -43,7 +43,15 @@ LRESULT CGotoKeyDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lPa
|
||||
{ L"Explorer Context Menu 5",LR"(HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers)" },
|
||||
{ L"Explorer Context Menu 6",LR"(HKEY_CLASSES_ROOT\Directory\shell)" },
|
||||
{ L"Explorer Context Menu 7",LR"(HKEY_CLASSES_ROOT\Directory\Background\shell)" },
|
||||
{ L"Explorer Context Menu 8",LR"(HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers)" }
|
||||
{ L"Explorer Context Menu 8",LR"(HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers)" },
|
||||
{L"Run 1",LR"(HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)"},
|
||||
{L"Run 2",LR"(HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)"},
|
||||
{L"Run 3",LR"(HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run)"},
|
||||
{L"Run 4",LR"(HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run)"},
|
||||
{L"RunOnce 1",LR"(HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce)"},
|
||||
{L"RunOnce 2",LR"(HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce)"},
|
||||
{L"RunOnceEx 1",LR"(HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx)"},
|
||||
{L"RunOnceEx 2",LR"(HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx)"}
|
||||
};
|
||||
|
||||
for (const auto& [name, path] : locations) {
|
||||
|
||||
+4
-4
@@ -134,8 +134,8 @@ RegistryKey Registry::OpenKey(const CString& path, DWORD access, bool* root) {
|
||||
keyname = path.Left(bs);
|
||||
}
|
||||
// c++11 std::begin
|
||||
auto pair = std::find_if(std::begin(Keys), std::end(Keys), [&](auto& k) {
|
||||
return k.text == keyname;
|
||||
auto pair = std::find_if(std::begin(Keys), std::end(Keys), [&](auto& k) {
|
||||
return _wcsicmp(k.text, keyname) == 0 || _wcsicmp(k.stext, keyname) == 0;
|
||||
});
|
||||
ATLASSERT(pair != std::end(Keys));
|
||||
if (bs >= 0) {
|
||||
@@ -164,8 +164,8 @@ CRegKey Registry::CreateKey(const CString& path, DWORD access) {
|
||||
ATLASSERT(bs >= 0);
|
||||
keyname = path.Left(bs);
|
||||
}
|
||||
auto pair = std::find_if(std::begin(Keys), std::end(Keys), [&](auto& k) {
|
||||
return k.text == keyname;
|
||||
auto pair = std::find_if(std::begin(Keys), std::end(Keys), [&](auto& k) {
|
||||
return wcscmp(k.text, keyname) == 0;
|
||||
});
|
||||
|
||||
ATLASSERT(pair != std::end(Keys));
|
||||
|
||||
+10
-9
@@ -65,17 +65,18 @@ struct Registry abstract final {
|
||||
|
||||
static inline const struct {
|
||||
PCWSTR text;
|
||||
PCWSTR stext;
|
||||
HKEY hKey;
|
||||
}Keys[]{
|
||||
{ L"HKEY_CLASSES_ROOT", HKEY_CLASSES_ROOT },
|
||||
{ L"HKEY_CURRENT_USER", HKEY_CURRENT_USER },
|
||||
{ L"HKEY_LOCAL_MACHINE", HKEY_LOCAL_MACHINE },
|
||||
{ L"HKEY_USERS", HKEY_USERS },
|
||||
{ L"HKEY_CURRENT_CONFIG", HKEY_CURRENT_CONFIG },
|
||||
{ L"HKEY_PERFORMANCE_DATA", HKEY_PERFORMANCE_DATA },
|
||||
{ L"HKEY_PERFORMANCE_TEXT", HKEY_PERFORMANCE_TEXT },
|
||||
{ L"HKEY_PERFORMANCE_NLSTEXT", HKEY_PERFORMANCE_NLSTEXT },
|
||||
{ L"HKEY_CURRENT_USER_LOCAL_SETTINGS", HKEY_CURRENT_USER_LOCAL_SETTINGS },
|
||||
{ L"HKEY_CLASSES_ROOT", L"HKCR",HKEY_CLASSES_ROOT},
|
||||
{ L"HKEY_CURRENT_USER",L"HKCU", HKEY_CURRENT_USER},
|
||||
{ L"HKEY_LOCAL_MACHINE",L"HKLM", HKEY_LOCAL_MACHINE},
|
||||
{ L"HKEY_USERS",L"HKU", HKEY_USERS},
|
||||
{ L"HKEY_CURRENT_CONFIG",L"HKCC", HKEY_CURRENT_CONFIG},
|
||||
{ L"HKEY_PERFORMANCE_DATA",L"", HKEY_PERFORMANCE_DATA},
|
||||
{ L"HKEY_PERFORMANCE_TEXT",L"", HKEY_PERFORMANCE_TEXT},
|
||||
{ L"HKEY_PERFORMANCE_NLSTEXT",L"", HKEY_PERFORMANCE_NLSTEXT },
|
||||
{ L"HKEY_CURRENT_USER_LOCAL_SETTINGS",L"", HKEY_CURRENT_USER_LOCAL_SETTINGS },
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
+4
-1
@@ -118,7 +118,7 @@ LRESULT CRegistryManagerView::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam,
|
||||
auto hr = spAC.CoCreateInstance(CLSID_AutoComplete);
|
||||
if (SUCCEEDED(hr)) {
|
||||
m_AutoCompleteStrings->CreateInstance(&m_AutoCompleteStrings);
|
||||
CRect r(0, 0, 400, 20);
|
||||
CRect r(0, 0, 800, 20);
|
||||
CEdit edit;
|
||||
auto hEdit = edit.Create(m_hWnd, &r, nullptr, WS_CHILD | WS_VISIBLE |
|
||||
ES_AUTOHSCROLL | ES_WANTRETURN | WS_CLIPSIBLINGS, WS_EX_WINDOWEDGE);
|
||||
@@ -1212,6 +1212,9 @@ AppCommandCallback<DeleteKeyCommand> CRegistryManagerView::GetDeleteKeyCommandCa
|
||||
}
|
||||
|
||||
LRESULT CRegistryManagerView::OnEditPaste(WORD, WORD, HWND, BOOL&){
|
||||
if (m_Clipboard.Items.empty()) {
|
||||
return 0;
|
||||
}
|
||||
ATLASSERT(!m_Clipboard.Items.empty());
|
||||
auto cb = [this](auto& cmd, bool) {
|
||||
RefreshItem(m_Tree.GetSelectedItem());
|
||||
|
||||
Reference in New Issue
Block a user