mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 13:34:53 +00:00
[0.4.11][REGEDIT] Port back several improvements and crash-fixes
0.4.15-dev-5985-g31fdaca8c0
[REGEDIT] Strip redundant include, minor formatting (#5264) 0.4.15-dev-5970-g9d7d3314b3
[REGEDIT] Check whether pszSelectKey is NULL on CDN_FILEOK (#5255) 0.4.15-dev-5898-g84e580b67e
[REGEDIT] Fix ListView selection and finding (#5150) (superseded) 0.4.15-dev-5802-gcce3eb9393
Fix buffer read past end problem. (#5146) CORE-15896 and CORE-18230 partially 0.4.15-dev-5753-g1ee9ea4518
[REGEDIT] Avoid buffer overflow in SelectNode. CORE-18602 (I left the wscpy-replacement at the end for the fixed size strings, as they would increase binary size, and are totally safe) partially 0.4.15-dev-5308-g5daf5cd057
[REGEDIT] Use shell icons for the tree view (#4841) CORE-10764 0.4.15-dev-4850-g568383c9b9
[REGEDIT] Fix issue at Find registry key (#4341) partially 0.4.15-dev-2265-gbebdfda8b7
[REGEDIT]... Use newer file open dialog (#3571) 0.4.15-dev-1470-g9de8787187
[REGEDIT] Display search finished messagebox when using Find Next (F3) menu item (#3371) CORE-17368 0.4.15-dev-1302-g6aae5f4fdd
[REGEDIT] Make "finished find" messagebox owned by Regedit window (#3369) CORE-17367 0.4.15-dev-169-g0461de33c5
[REGEDIT] Fix HeapFree() on the wrong variable (#2736) 0.4.14-dev-1484-gc832112771
[REGEDIT] Fix tree view popup menu issues CORE-16887 0.4.14-dev-1468-g763de230b2
[REGEDIT] Fix inconsistent menu state for 'Permissions' CORE-16889 a more efficient solution than 0.4.14-dev-1467-gb280615b85
[REGEDIT] Crash on selecting 'New' on root item 'My computer' CORE-16888 0.4.14-dev-1466-g13dd917589
[REGEDIT] CORE-16892 fr-FR Translation update 0.4.13-dev-464-g6b95727282
[REGEDIT] Adjust ListView column widths (#1663) CORE-15187 0.4.12-dev-47-g63a0ac0461
[REGEDIT] Set background brush to child window (#1122) CORE-15442 a few fragments only of 0.4.15-dev-5304-g36a7f0dc7c
[REGEDIT] framewnd.c resize_frame_rect(), main.h strip externs before func declarations and reordering, treeview.c InitTreeViewImageLists() also port back a few selected translation improvements, and strip the suggestions-feature in older branches <= 0.4.13 which does not exist in 2k3sp2.
This commit is contained in:
parent
33a8309e5c
commit
9facbf6b7f
|
@ -26,7 +26,7 @@ void ShowAboutBox(HWND hWnd)
|
|||
{
|
||||
WCHAR AppStr[255];
|
||||
LoadStringW(hInst, IDS_APP_TITLE, AppStr, COUNT_OF(AppStr));
|
||||
ShellAboutW(hWnd, AppStr, L"", LoadIconW(hInst, MAKEINTRESOURCEW(IDI_REGEDIT)));
|
||||
ShellAboutW(hWnd, AppStr, NULL, LoadIconW(hInst, MAKEINTRESOURCEW(IDI_REGEDIT)));
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -24,7 +24,6 @@ ChildWnd* g_pChildWnd;
|
|||
static int last_split;
|
||||
HBITMAP SizingPattern = 0;
|
||||
HBRUSH SizingBrush = 0;
|
||||
static WCHAR Suggestions[256];
|
||||
|
||||
extern LPCWSTR get_root_key_name(HKEY hRootKey)
|
||||
{
|
||||
|
@ -129,172 +128,6 @@ static void finish_splitbar(HWND hWnd, int x)
|
|||
ReleaseCapture();
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* FUNCTION: ChildWnd_CmdWndProc(HWND, unsigned, WORD, LONG)
|
||||
*
|
||||
* PURPOSE: Processes WM_COMMAND messages for the main frame window.
|
||||
*
|
||||
*/
|
||||
|
||||
static BOOL ChildWnd_CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HTREEITEM hSelection;
|
||||
HKEY hRootKey;
|
||||
LPCWSTR keyPath, s;
|
||||
WORD wID = LOWORD(wParam);
|
||||
|
||||
UNREFERENCED_PARAMETER(message);
|
||||
|
||||
switch (wID)
|
||||
{
|
||||
/* Parse the menu selections: */
|
||||
case ID_REGISTRY_EXIT:
|
||||
DestroyWindow(hWnd);
|
||||
break;
|
||||
case ID_VIEW_REFRESH:
|
||||
/* TODO */
|
||||
break;
|
||||
case ID_TREE_EXPANDBRANCH:
|
||||
TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_EXPAND);
|
||||
break;
|
||||
case ID_TREE_COLLAPSEBRANCH:
|
||||
TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_COLLAPSE);
|
||||
break;
|
||||
case ID_TREE_RENAME:
|
||||
SetFocus(g_pChildWnd->hTreeWnd);
|
||||
TreeView_EditLabel(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd));
|
||||
break;
|
||||
case ID_TREE_DELETE:
|
||||
hSelection = TreeView_GetSelection(g_pChildWnd->hTreeWnd);
|
||||
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, hSelection, &hRootKey);
|
||||
|
||||
if (keyPath == 0 || *keyPath == 0)
|
||||
{
|
||||
MessageBeep(MB_ICONHAND);
|
||||
}
|
||||
else if (DeleteKey(hWnd, hRootKey, keyPath))
|
||||
DeleteNode(g_pChildWnd->hTreeWnd, 0);
|
||||
break;
|
||||
case ID_TREE_EXPORT:
|
||||
ExportRegistryFile(g_pChildWnd->hTreeWnd);
|
||||
break;
|
||||
case ID_EDIT_FIND:
|
||||
FindDialog(hWnd);
|
||||
break;
|
||||
case ID_EDIT_COPYKEYNAME:
|
||||
hSelection = TreeView_GetSelection(g_pChildWnd->hTreeWnd);
|
||||
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, hSelection, &hRootKey);
|
||||
CopyKeyName(hWnd, hRootKey, keyPath);
|
||||
break;
|
||||
case ID_EDIT_NEW_KEY:
|
||||
CreateNewKey(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd));
|
||||
break;
|
||||
case ID_EDIT_NEW_STRINGVALUE:
|
||||
case ID_EDIT_NEW_BINARYVALUE:
|
||||
case ID_EDIT_NEW_DWORDVALUE:
|
||||
SendMessageW(hFrameWnd, WM_COMMAND, wParam, lParam);
|
||||
break;
|
||||
case ID_SWITCH_PANELS:
|
||||
g_pChildWnd->nFocusPanel = !g_pChildWnd->nFocusPanel;
|
||||
SetFocus(g_pChildWnd->nFocusPanel? g_pChildWnd->hListWnd: g_pChildWnd->hTreeWnd);
|
||||
break;
|
||||
default:
|
||||
if ((wID >= ID_TREE_SUGGESTION_MIN) && (wID <= ID_TREE_SUGGESTION_MAX))
|
||||
{
|
||||
s = Suggestions;
|
||||
while(wID > ID_TREE_SUGGESTION_MIN)
|
||||
{
|
||||
if (*s)
|
||||
s += wcslen(s) + 1;
|
||||
wID--;
|
||||
}
|
||||
SelectNode(g_pChildWnd->hTreeWnd, s);
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* Key suggestion
|
||||
*/
|
||||
|
||||
#define MIN(a,b) ((a < b) ? (a) : (b))
|
||||
|
||||
static void SuggestKeys(HKEY hRootKey, LPCWSTR pszKeyPath, LPWSTR pszSuggestions,
|
||||
size_t iSuggestionsLength)
|
||||
{
|
||||
WCHAR szBuffer[256];
|
||||
WCHAR szLastFound[256];
|
||||
size_t i;
|
||||
HKEY hOtherKey, hSubKey;
|
||||
BOOL bFound;
|
||||
|
||||
memset(pszSuggestions, 0, iSuggestionsLength * sizeof(*pszSuggestions));
|
||||
iSuggestionsLength--;
|
||||
|
||||
/* Are we a root key in HKEY_CLASSES_ROOT? */
|
||||
if ((hRootKey == HKEY_CLASSES_ROOT) && pszKeyPath[0] && !wcschr(pszKeyPath, L'\\'))
|
||||
{
|
||||
do
|
||||
{
|
||||
bFound = FALSE;
|
||||
|
||||
/* Check default key */
|
||||
if (QueryStringValue(hRootKey, pszKeyPath, NULL,
|
||||
szBuffer, COUNT_OF(szBuffer)) == ERROR_SUCCESS)
|
||||
{
|
||||
/* Sanity check this key; it cannot be empty, nor can it be a
|
||||
* loop back */
|
||||
if ((szBuffer[0] != L'\0') && _wcsicmp(szBuffer, pszKeyPath))
|
||||
{
|
||||
if (RegOpenKeyW(hRootKey, szBuffer, &hOtherKey) == ERROR_SUCCESS)
|
||||
{
|
||||
lstrcpynW(pszSuggestions, L"HKCR\\", (int) iSuggestionsLength);
|
||||
i = wcslen(pszSuggestions);
|
||||
pszSuggestions += i;
|
||||
iSuggestionsLength -= i;
|
||||
|
||||
lstrcpynW(pszSuggestions, szBuffer, (int) iSuggestionsLength);
|
||||
i = MIN(wcslen(pszSuggestions) + 1, iSuggestionsLength);
|
||||
pszSuggestions += i;
|
||||
iSuggestionsLength -= i;
|
||||
RegCloseKey(hOtherKey);
|
||||
|
||||
bFound = TRUE;
|
||||
wcscpy(szLastFound, szBuffer);
|
||||
pszKeyPath = szLastFound;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
while(bFound && (iSuggestionsLength > 0));
|
||||
|
||||
/* Check CLSID key */
|
||||
if (RegOpenKeyW(hRootKey, pszKeyPath, &hSubKey) == ERROR_SUCCESS)
|
||||
{
|
||||
if (QueryStringValue(hSubKey, L"CLSID", NULL, szBuffer,
|
||||
COUNT_OF(szBuffer)) == ERROR_SUCCESS)
|
||||
{
|
||||
lstrcpynW(pszSuggestions, L"HKCR\\CLSID\\", (int)iSuggestionsLength);
|
||||
i = wcslen(pszSuggestions);
|
||||
pszSuggestions += i;
|
||||
iSuggestionsLength -= i;
|
||||
|
||||
lstrcpynW(pszSuggestions, szBuffer, (int)iSuggestionsLength);
|
||||
i = MIN(wcslen(pszSuggestions) + 1, iSuggestionsLength);
|
||||
pszSuggestions += i;
|
||||
iSuggestionsLength -= i;
|
||||
}
|
||||
RegCloseKey(hSubKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
LRESULT CALLBACK AddressBarProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
WNDPROC oldwndproc;
|
||||
|
@ -316,11 +149,12 @@ LRESULT CALLBACK AddressBarProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPar
|
|||
return CallWindowProcW(oldwndproc, hwnd, uMsg, wParam, lParam);
|
||||
}
|
||||
|
||||
static VOID
|
||||
UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath)
|
||||
VOID
|
||||
UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath, BOOL bSelectNone)
|
||||
{
|
||||
LPCWSTR keyPath, rootName;
|
||||
LPWSTR fullPath;
|
||||
DWORD cbFullPath;
|
||||
|
||||
/* Wipe the listview, the status bar and the address bar if the root key was selected */
|
||||
if (TreeView_GetParent(g_pChildWnd->hTreeWnd, hItem) == NULL)
|
||||
|
@ -338,35 +172,36 @@ UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath)
|
|||
|
||||
if (keyPath)
|
||||
{
|
||||
RefreshListView(g_pChildWnd->hListWnd, hRootKey, keyPath);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hRootKey, keyPath, bSelectNone);
|
||||
rootName = get_root_key_name(hRootKey);
|
||||
fullPath = HeapAlloc(GetProcessHeap(), 0, (wcslen(rootName) + 1 + wcslen(keyPath) + 1) * sizeof(WCHAR));
|
||||
cbFullPath = (wcslen(rootName) + 1 + wcslen(keyPath) + 1) * sizeof(WCHAR);
|
||||
fullPath = malloc(cbFullPath);
|
||||
if (fullPath)
|
||||
{
|
||||
/* set (correct) the address bar text */
|
||||
if (keyPath[0] != L'\0')
|
||||
swprintf(fullPath, L"%s\\%s", rootName, keyPath);
|
||||
swprintf(fullPath, L"%s%s%s", rootName, keyPath[0]==L'\\'?L"":L"\\", keyPath);
|
||||
else
|
||||
fullPath = wcscpy(fullPath, rootName);
|
||||
SendMessageW(hStatusBar, SB_SETTEXTW, 0, (LPARAM)fullPath);
|
||||
SendMessageW(g_pChildWnd->hAddressBarWnd, WM_SETTEXT, 0, (LPARAM)fullPath);
|
||||
HeapFree(GetProcessHeap(), 0, fullPath);
|
||||
free(fullPath);
|
||||
/* disable hive manipulation items temporarily (enable only if necessary) */
|
||||
EnableMenuItem(GetSubMenu(hMenuFrame,0), ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_GRAYED);
|
||||
EnableMenuItem(GetSubMenu(hMenuFrame,0), ID_REGISTRY_UNLOADHIVE, MF_BYCOMMAND | MF_GRAYED);
|
||||
EnableMenuItem(hMenuFrame, ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_GRAYED);
|
||||
EnableMenuItem(hMenuFrame, ID_REGISTRY_UNLOADHIVE, MF_BYCOMMAND | MF_GRAYED);
|
||||
/* compare the strings to see if we should enable/disable the "Load Hive" menus accordingly */
|
||||
if (!(_wcsicmp(rootName, L"HKEY_LOCAL_MACHINE") &&
|
||||
_wcsicmp(rootName, L"HKEY_USERS")))
|
||||
if (_wcsicmp(rootName, L"HKEY_LOCAL_MACHINE") != 0 ||
|
||||
_wcsicmp(rootName, L"HKEY_USERS") != 0)
|
||||
{
|
||||
/*
|
||||
* enable the unload menu item if at the root, otherwise
|
||||
* enable the load menu item if there is no slash in
|
||||
* keyPath (ie. immediate child selected)
|
||||
*/
|
||||
if(keyPath[0] == L'\0')
|
||||
EnableMenuItem(GetSubMenu(hMenuFrame,0), ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_ENABLED);
|
||||
if (keyPath[0] == UNICODE_NULL)
|
||||
EnableMenuItem(hMenuFrame, ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_ENABLED);
|
||||
else if(!wcschr(keyPath, L'\\'))
|
||||
EnableMenuItem(GetSubMenu(hMenuFrame,0), ID_REGISTRY_UNLOADHIVE, MF_BYCOMMAND | MF_ENABLED);
|
||||
EnableMenuItem(hMenuFrame, ID_REGISTRY_UNLOADHIVE, MF_BYCOMMAND | MF_ENABLED);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -385,6 +220,7 @@ UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath)
|
|||
LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
BOOL Result;
|
||||
RECT rc;
|
||||
|
||||
switch (message)
|
||||
{
|
||||
|
@ -401,7 +237,7 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
|
|||
if (!g_pChildWnd) return 0;
|
||||
|
||||
wcsncpy(g_pChildWnd->szPath, buffer, MAX_PATH);
|
||||
g_pChildWnd->nSplitPos = 250;
|
||||
g_pChildWnd->nSplitPos = 190;
|
||||
g_pChildWnd->hWnd = hWnd;
|
||||
g_pChildWnd->hAddressBarWnd = CreateWindowExW(WS_EX_CLIENTEDGE, L"Edit", NULL, WS_CHILD | WS_VISIBLE | WS_CHILDWINDOW | WS_TABSTOP,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
|
@ -409,8 +245,9 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
|
|||
g_pChildWnd->hAddressBtnWnd = CreateWindowExW(0, L"Button", L"\x00BB", WS_CHILD | WS_VISIBLE | WS_CHILDWINDOW | WS_TABSTOP | BS_TEXT | BS_CENTER | BS_VCENTER | BS_FLAT | BS_DEFPUSHBUTTON,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
hWnd, (HMENU)0, hInst, 0);
|
||||
GetClientRect(hWnd, &rc);
|
||||
g_pChildWnd->hTreeWnd = CreateTreeView(hWnd, g_pChildWnd->szPath, (HMENU) TREE_WINDOW);
|
||||
g_pChildWnd->hListWnd = CreateListView(hWnd, (HMENU) LIST_WINDOW/*, g_pChildWnd->szPath*/);
|
||||
g_pChildWnd->hListWnd = CreateListView(hWnd, (HMENU) LIST_WINDOW, rc.right - g_pChildWnd->nSplitPos);
|
||||
SetFocus(g_pChildWnd->hTreeWnd);
|
||||
|
||||
/* set the address bar and button font */
|
||||
|
@ -437,11 +274,6 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
|
|||
{
|
||||
PostMessageW(g_pChildWnd->hAddressBarWnd, WM_KEYUP, VK_RETURN, 0);
|
||||
}
|
||||
|
||||
if (!ChildWnd_CmdWndProc(hWnd, message, wParam, lParam))
|
||||
{
|
||||
goto def;
|
||||
}
|
||||
break;
|
||||
case WM_SETCURSOR:
|
||||
if (LOWORD(lParam) == HTCLIENT)
|
||||
|
@ -552,107 +384,26 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
|
|||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
if ((int)wParam == TREE_WINDOW && g_pChildWnd != NULL)
|
||||
{
|
||||
switch (((LPNMHDR)lParam)->code)
|
||||
{
|
||||
case TVN_ITEMEXPANDING:
|
||||
return !OnTreeExpanding(g_pChildWnd->hTreeWnd, (NMTREEVIEW*)lParam);
|
||||
case TVN_SELCHANGED:
|
||||
{
|
||||
NMTREEVIEW* pnmtv = (NMTREEVIEW*)lParam;
|
||||
/* Get the parent of the current item */
|
||||
HTREEITEM hParentItem = TreeView_GetParent(g_pChildWnd->hTreeWnd, pnmtv->itemNew.hItem);
|
||||
if (g_pChildWnd == NULL) break;
|
||||
|
||||
UpdateAddress(pnmtv->itemNew.hItem, NULL, NULL);
|
||||
|
||||
/*
|
||||
* Disable Delete/Rename menu options for 'My Computer' (first item so doesn't have any parent)
|
||||
* and HKEY_* keys (their parent is 'My Computer' and the previous remark applies).
|
||||
*/
|
||||
if (!hParentItem || !TreeView_GetParent(g_pChildWnd->hTreeWnd, hParentItem))
|
||||
{
|
||||
EnableMenuItem(hMenuFrame , ID_EDIT_DELETE, MF_BYCOMMAND | MF_GRAYED);
|
||||
EnableMenuItem(hMenuFrame , ID_EDIT_RENAME, MF_BYCOMMAND | MF_GRAYED);
|
||||
EnableMenuItem(hPopupMenus, ID_TREE_DELETE, MF_BYCOMMAND | MF_GRAYED);
|
||||
EnableMenuItem(hPopupMenus, ID_TREE_RENAME, MF_BYCOMMAND | MF_GRAYED);
|
||||
}
|
||||
else
|
||||
{
|
||||
EnableMenuItem(hMenuFrame , ID_EDIT_DELETE, MF_BYCOMMAND | MF_ENABLED);
|
||||
EnableMenuItem(hMenuFrame , ID_EDIT_RENAME, MF_BYCOMMAND | MF_ENABLED);
|
||||
EnableMenuItem(hPopupMenus, ID_TREE_DELETE, MF_BYCOMMAND | MF_ENABLED);
|
||||
EnableMenuItem(hPopupMenus, ID_TREE_RENAME, MF_BYCOMMAND | MF_ENABLED);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case NM_SETFOCUS:
|
||||
g_pChildWnd->nFocusPanel = 0;
|
||||
break;
|
||||
case TVN_BEGINLABELEDIT:
|
||||
{
|
||||
LPNMTVDISPINFO ptvdi;
|
||||
/* cancel label edit for rootkeys */
|
||||
ptvdi = (LPNMTVDISPINFO) lParam;
|
||||
if (!TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem) ||
|
||||
!TreeView_GetParent(g_pChildWnd->hTreeWnd, TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem)))
|
||||
return TRUE;
|
||||
break;
|
||||
}
|
||||
case TVN_ENDLABELEDIT:
|
||||
{
|
||||
LPCWSTR keyPath;
|
||||
HKEY hRootKey;
|
||||
HKEY hKey = NULL;
|
||||
LPNMTVDISPINFO ptvdi;
|
||||
LONG lResult = TRUE;
|
||||
WCHAR szBuffer[MAX_PATH];
|
||||
|
||||
ptvdi = (LPNMTVDISPINFO) lParam;
|
||||
if (ptvdi->item.pszText)
|
||||
{
|
||||
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem), &hRootKey);
|
||||
_snwprintf(szBuffer, COUNT_OF(szBuffer), L"%s\\%s", keyPath, ptvdi->item.pszText);
|
||||
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, ptvdi->item.hItem, &hRootKey);
|
||||
if (RegOpenKeyExW(hRootKey, szBuffer, 0, KEY_READ, &hKey) == ERROR_SUCCESS)
|
||||
{
|
||||
lResult = FALSE;
|
||||
RegCloseKey(hKey);
|
||||
TreeView_EditLabel(g_pChildWnd->hTreeWnd, ptvdi->item.hItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (RenameKey(hRootKey, keyPath, ptvdi->item.pszText) != ERROR_SUCCESS)
|
||||
lResult = FALSE;
|
||||
else
|
||||
UpdateAddress(ptvdi->item.hItem, hRootKey, szBuffer);
|
||||
}
|
||||
return lResult;
|
||||
}
|
||||
}
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((int)wParam == LIST_WINDOW && g_pChildWnd != NULL)
|
||||
{
|
||||
switch (((LPNMHDR)lParam)->code)
|
||||
{
|
||||
case NM_SETFOCUS:
|
||||
g_pChildWnd->nFocusPanel = 1;
|
||||
break;
|
||||
default:
|
||||
if(!ListWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
|
||||
if (((LPNMHDR)lParam)->idFrom == TREE_WINDOW)
|
||||
{
|
||||
if (!TreeWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
|
||||
goto def;
|
||||
}
|
||||
|
||||
return Result;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (((LPNMHDR)lParam)->idFrom == LIST_WINDOW)
|
||||
{
|
||||
if (!ListWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
|
||||
goto def;
|
||||
|
||||
return Result;
|
||||
}
|
||||
else
|
||||
goto def;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -706,13 +457,8 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
|
|||
HMENU hContextMenu;
|
||||
TVITEMW item;
|
||||
MENUITEMINFOW mii;
|
||||
WCHAR resource[256];
|
||||
WCHAR buffer[256];
|
||||
LPWSTR s;
|
||||
LPCWSTR keyPath;
|
||||
HKEY hRootKey;
|
||||
int iLastPos;
|
||||
WORD wID;
|
||||
BOOL isRoot;
|
||||
|
||||
pt.x = (short) LOWORD(lParam);
|
||||
pt.y = (short) HIWORD(lParam);
|
||||
|
@ -742,9 +488,16 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
|
|||
|
||||
if (hti.flags & TVHT_ONITEM)
|
||||
{
|
||||
hContextMenu = GetSubMenu(hPopupMenus, PM_TREECONTEXT);
|
||||
TreeView_SelectItem(g_pChildWnd->hTreeWnd, hti.hItem);
|
||||
|
||||
isRoot = (TreeView_GetParent(g_pChildWnd->hTreeWnd, hti.hItem) == NULL);
|
||||
hContextMenu = GetSubMenu(hPopupMenus, PM_TREECONTEXT);
|
||||
|
||||
/* idx1 'New' PopupMenu */
|
||||
EnableMenuItem(hContextMenu, 1, isRoot? MF_BYPOSITION|MF_DISABLED|MF_GRAYED : MF_BYPOSITION|MF_ENABLED);
|
||||
/* idx8 'Permissions' */
|
||||
EnableMenuItem(hContextMenu, 8, isRoot? MF_BYPOSITION|MF_DISABLED|MF_GRAYED : MF_BYPOSITION|MF_ENABLED);
|
||||
|
||||
memset(&item, 0, sizeof(item));
|
||||
item.mask = TVIF_STATE | TVIF_CHILDREN;
|
||||
item.hItem = hti.hItem;
|
||||
|
@ -759,49 +512,7 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
|
|||
mii.wID = (item.state & TVIS_EXPANDED) ? ID_TREE_COLLAPSEBRANCH : ID_TREE_EXPANDBRANCH;
|
||||
mii.dwTypeData = (LPWSTR) buffer;
|
||||
SetMenuItemInfo(hContextMenu, 0, TRUE, &mii);
|
||||
|
||||
/* Remove any existing suggestions */
|
||||
memset(&mii, 0, sizeof(mii));
|
||||
mii.cbSize = sizeof(mii);
|
||||
mii.fMask = MIIM_ID;
|
||||
GetMenuItemInfo(hContextMenu, GetMenuItemCount(hContextMenu) - 1, TRUE, &mii);
|
||||
if ((mii.wID >= ID_TREE_SUGGESTION_MIN) && (mii.wID <= ID_TREE_SUGGESTION_MAX))
|
||||
{
|
||||
do
|
||||
{
|
||||
iLastPos = GetMenuItemCount(hContextMenu) - 1;
|
||||
GetMenuItemInfo(hContextMenu, iLastPos, TRUE, &mii);
|
||||
RemoveMenu(hContextMenu, iLastPos, MF_BYPOSITION);
|
||||
}
|
||||
while((mii.wID >= ID_TREE_SUGGESTION_MIN) && (mii.wID <= ID_TREE_SUGGESTION_MAX));
|
||||
}
|
||||
|
||||
/* Come up with suggestions */
|
||||
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, NULL, &hRootKey);
|
||||
SuggestKeys(hRootKey, keyPath, Suggestions, COUNT_OF(Suggestions));
|
||||
if (Suggestions[0])
|
||||
{
|
||||
AppendMenu(hContextMenu, MF_SEPARATOR, 0, NULL);
|
||||
|
||||
LoadStringW(hInst, IDS_GOTO_SUGGESTED_KEY, resource, COUNT_OF(resource));
|
||||
|
||||
s = Suggestions;
|
||||
wID = ID_TREE_SUGGESTION_MIN;
|
||||
while(*s && (wID <= ID_TREE_SUGGESTION_MAX))
|
||||
{
|
||||
_snwprintf(buffer, COUNT_OF(buffer), resource, s);
|
||||
|
||||
memset(&mii, 0, sizeof(mii));
|
||||
mii.cbSize = sizeof(mii);
|
||||
mii.fMask = MIIM_STRING | MIIM_ID;
|
||||
mii.wID = wID++;
|
||||
mii.dwTypeData = buffer;
|
||||
InsertMenuItem(hContextMenu, GetMenuItemCount(hContextMenu), TRUE, &mii);
|
||||
|
||||
s += wcslen(s) + 1;
|
||||
}
|
||||
}
|
||||
TrackPopupMenu(hContextMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, g_pChildWnd->hWnd, NULL);
|
||||
TrackPopupMenu(hContextMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, hFrameWnd, NULL);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -10,13 +10,13 @@ BEGIN
|
|||
CHECKBOX "&Batas", 1713, 10, 30, 34, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "&Urut", 1705, 10, 40, 26, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "Berita&hu", 1706, 10, 50, 32, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "V&ert. Bar Gulung", 1707, 10, 60, 64, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "&Multipel Pilihan", -1, 79, 20, 72, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP | WS_DISABLED
|
||||
CHECKBOX "&Vert. Bar Gulung", 1707, 10, 60, 64, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "Mu<ipel Pilihan", -1, 79, 20, 72, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP | WS_DISABLED
|
||||
CHECKBOX "&Perluasan Pilihan", -1, 79, 30, 77, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP | WS_DISABLED
|
||||
CHECKBOX "&Popout Headings", 1714, 79, 40, 68, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "&Springy Kolom", 1715, 79, 50, 66, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "&Judul Popout", 1714, 79, 40, 68, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "&Kolom kenyal", 1715, 79, 50, 66, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
GROUPBOX "Gaya Dasar", -1, 6, 80, 158, 34
|
||||
CHECKBOX "&Terlihat", 1701, 10, 92, 34, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "T&erlihat", 1701, 10, 92, 34, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "&Dimatikan", 1702, 10, 102, 41, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "&Grup", 1703, 79, 92, 32, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "&Tab Henti", 1704, 79, 102, 44, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
|
|
|
@ -4,10 +4,10 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
|
|||
|
||||
IDD_COLUMNLISTBOXSTYLES DIALOGEX 0, 0, 227, 215
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Dikeçli Dizelge Kutusu Biçimleri"
|
||||
CAPTION "Sütun Listesi Kutusu Biçimleri"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Dikeçli Dizelge Kutusu Biçimleri", -1, 6, 7, 158, 71
|
||||
GROUPBOX "Sütün Listesi Kutusu Biçimleri", -1, 6, 7, 158, 71
|
||||
CHECKBOX "&Ölçünlü", 1710, 10, 20, 42, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "&Hudut", 1713, 10, 30, 34, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "&Diz", 1705, 10, 40, 26, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
|
@ -16,8 +16,8 @@ BEGIN
|
|||
CHECKBOX "&Çoklu Seçim", -1, 79, 20, 72, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP | WS_DISABLED
|
||||
CHECKBOX "&Genişletilmiş Seçim", -1, 79, 30, 77, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP | WS_DISABLED
|
||||
CHECKBOX "&Açılan Başlıklar", 1714, 79, 40, 68, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "&Esnek Dikeçler", 1715, 79, 50, 66, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
GROUPBOX "Başlıca Biçimler", -1, 6, 80, 158, 34
|
||||
CHECKBOX "&Esnek Sütunlar", 1715, 79, 50, 66, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
GROUPBOX "Temel Biçimler", -1, 6, 80, 158, 34
|
||||
CHECKBOX "Gö&rünür", 1701, 10, 92, 34, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "Edi&lgin", 1702, 10, 102, 41, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
CHECKBOX "Öbe&kleme", 1703, 79, 92, 32, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
||||
|
|
|
@ -32,7 +32,7 @@ static BOOL s_bAbort;
|
|||
|
||||
static DWORD s_dwFlags;
|
||||
static WCHAR s_szName[MAX_PATH];
|
||||
static DWORD s_cbName;
|
||||
static DWORD s_cchName;
|
||||
static const WCHAR s_empty[] = L"";
|
||||
static const WCHAR s_backslash[] = L"\\";
|
||||
|
||||
|
@ -87,41 +87,31 @@ static BOOL CompareName(LPCWSTR pszName1, LPCWSTR pszName2)
|
|||
}
|
||||
}
|
||||
|
||||
static BOOL
|
||||
CompareData(
|
||||
DWORD dwType,
|
||||
LPCWSTR psz1,
|
||||
LPCWSTR psz2)
|
||||
static BOOL MatchString(LPCWCH pch1, INT cch1, LPCWCH pch2, INT cch2)
|
||||
{
|
||||
INT i, cch1 = wcslen(psz1), cch2 = wcslen(psz2);
|
||||
if (dwType == REG_SZ || dwType == REG_EXPAND_SZ)
|
||||
{
|
||||
INT i;
|
||||
DWORD dwNorm = ((s_dwFlags & RSF_MATCHCASE) ? NORM_IGNORECASE : 0);
|
||||
|
||||
if (s_dwFlags & RSF_WHOLESTRING)
|
||||
return 2 == CompareStringW(LOCALE_SYSTEM_DEFAULT, dwNorm, pch1, cch1, pch2, cch2);
|
||||
|
||||
if (cch1 < cch2)
|
||||
return FALSE;
|
||||
|
||||
for (i = 0; i <= cch1 - cch2; i++)
|
||||
{
|
||||
if (s_dwFlags & RSF_MATCHCASE)
|
||||
return 2 == CompareStringW(LOCALE_SYSTEM_DEFAULT, 0,
|
||||
psz1, cch1, psz2, cch2);
|
||||
else
|
||||
return 2 == CompareStringW(LOCALE_SYSTEM_DEFAULT,
|
||||
NORM_IGNORECASE, psz1, cch1, psz2, cch2);
|
||||
if (2 == CompareStringW(LOCALE_SYSTEM_DEFAULT, dwNorm, pch1 + i, cch2, pch2, cch2))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
for(i = 0; i <= cch1 - cch2; i++)
|
||||
{
|
||||
if (s_dwFlags & RSF_MATCHCASE)
|
||||
{
|
||||
if (2 == CompareStringW(LOCALE_SYSTEM_DEFAULT, 0,
|
||||
psz1 + i, cch2, psz2, cch2))
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (2 == CompareStringW(LOCALE_SYSTEM_DEFAULT,
|
||||
NORM_IGNORECASE, psz1 + i, cch2, psz2, cch2))
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL MatchData(DWORD dwType, LPCVOID pv1, DWORD cb1)
|
||||
{
|
||||
if (dwType == REG_SZ || dwType == REG_EXPAND_SZ || dwType == REG_MULTI_SZ)
|
||||
return MatchString(pv1, (INT)(cb1 / sizeof(WCHAR)), s_szFindWhat, lstrlenW(s_szFindWhat));
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -143,7 +133,7 @@ BOOL RegFindRecurse(
|
|||
LONG lResult;
|
||||
WCHAR szSubKey[MAX_PATH];
|
||||
DWORD i, c, cb, type;
|
||||
BOOL fPast = FALSE;
|
||||
BOOL fPast;
|
||||
LPWSTR *ppszNames = NULL;
|
||||
LPBYTE pb = NULL;
|
||||
|
||||
|
@ -160,9 +150,6 @@ BOOL RegFindRecurse(
|
|||
if (lResult != ERROR_SUCCESS)
|
||||
return FALSE;
|
||||
|
||||
if (pszValueName == NULL)
|
||||
pszValueName = s_empty;
|
||||
|
||||
lResult = RegQueryInfoKeyW(hSubKey, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
&c, NULL, NULL, NULL, NULL);
|
||||
if (lResult != ERROR_SUCCESS)
|
||||
|
@ -177,8 +164,8 @@ BOOL RegFindRecurse(
|
|||
if (DoEvents())
|
||||
goto err;
|
||||
|
||||
s_cbName = MAX_PATH * sizeof(WCHAR);
|
||||
lResult = RegEnumValueW(hSubKey, i, s_szName, &s_cbName, NULL, NULL,
|
||||
s_cchName = _countof(s_szName);
|
||||
lResult = RegEnumValueW(hSubKey, i, s_szName, &s_cchName, NULL, NULL,
|
||||
NULL, &cb);
|
||||
if (lResult == ERROR_NO_MORE_ITEMS)
|
||||
{
|
||||
|
@ -187,7 +174,7 @@ BOOL RegFindRecurse(
|
|||
}
|
||||
if (lResult != ERROR_SUCCESS)
|
||||
goto err;
|
||||
if (s_cbName >= MAX_PATH * sizeof(WCHAR))
|
||||
if (s_cchName >= _countof(s_szName))
|
||||
continue;
|
||||
|
||||
ppszNames[i] = _wcsdup(s_szName);
|
||||
|
@ -195,6 +182,7 @@ BOOL RegFindRecurse(
|
|||
|
||||
qsort(ppszNames, c, sizeof(LPWSTR), compare);
|
||||
|
||||
fPast = (pszValueName == NULL);
|
||||
for(i = 0; i < c; i++)
|
||||
{
|
||||
if (DoEvents())
|
||||
|
@ -212,9 +200,6 @@ BOOL RegFindRecurse(
|
|||
CompareName(ppszNames[i], s_szFindWhat))
|
||||
{
|
||||
*ppszFoundSubKey = _wcsdup(szSubKey);
|
||||
if (ppszNames[i][0] == 0)
|
||||
*ppszFoundValueName = NULL;
|
||||
else
|
||||
*ppszFoundValueName = _wcsdup(ppszNames[i]);
|
||||
goto success;
|
||||
}
|
||||
|
@ -231,13 +216,9 @@ BOOL RegFindRecurse(
|
|||
if (lResult != ERROR_SUCCESS)
|
||||
goto err;
|
||||
|
||||
if ((s_dwFlags & RSF_LOOKATDATA) &&
|
||||
CompareData(type, (LPWSTR) pb, s_szFindWhat))
|
||||
if ((s_dwFlags & RSF_LOOKATDATA) && MatchData(type, pb, cb))
|
||||
{
|
||||
*ppszFoundSubKey = _wcsdup(szSubKey);
|
||||
if (ppszNames[i][0] == 0)
|
||||
*ppszFoundValueName = NULL;
|
||||
else
|
||||
*ppszFoundValueName = _wcsdup(ppszNames[i]);
|
||||
goto success;
|
||||
}
|
||||
|
@ -267,8 +248,8 @@ BOOL RegFindRecurse(
|
|||
if (DoEvents())
|
||||
goto err;
|
||||
|
||||
s_cbName = MAX_PATH * sizeof(WCHAR);
|
||||
lResult = RegEnumKeyExW(hSubKey, i, s_szName, &s_cbName, NULL, NULL,
|
||||
s_cchName = _countof(s_szName);
|
||||
lResult = RegEnumKeyExW(hSubKey, i, s_szName, &s_cchName, NULL, NULL,
|
||||
NULL, NULL);
|
||||
if (lResult == ERROR_NO_MORE_ITEMS)
|
||||
{
|
||||
|
@ -277,7 +258,7 @@ BOOL RegFindRecurse(
|
|||
}
|
||||
if (lResult != ERROR_SUCCESS)
|
||||
goto err;
|
||||
if (s_cbName >= MAX_PATH * sizeof(WCHAR))
|
||||
if (s_cchName >= _countof(s_szName))
|
||||
continue;
|
||||
|
||||
ppszNames[i] = _wcsdup(s_szName);
|
||||
|
@ -366,17 +347,18 @@ BOOL RegFindWalk(
|
|||
WCHAR szKeyName[MAX_PATH];
|
||||
WCHAR szSubKey[MAX_PATH];
|
||||
LPWSTR pch;
|
||||
BOOL fPast;
|
||||
BOOL fPast, fKeyMatched;
|
||||
LPWSTR *ppszNames = NULL;
|
||||
|
||||
hBaseKey = *phKey;
|
||||
|
||||
if (wcslen(pszSubKey) >= _countof(szSubKey))
|
||||
return FALSE;
|
||||
|
||||
if (RegFindRecurse(hBaseKey, pszSubKey, pszValueName, ppszFoundSubKey,
|
||||
ppszFoundValueName))
|
||||
return TRUE;
|
||||
|
||||
if (wcslen(pszSubKey) >= MAX_PATH)
|
||||
return FALSE;
|
||||
|
||||
wcscpy(szSubKey, pszSubKey);
|
||||
while(szSubKey[0] != 0)
|
||||
{
|
||||
|
@ -415,8 +397,8 @@ BOOL RegFindWalk(
|
|||
if (DoEvents())
|
||||
goto err;
|
||||
|
||||
s_cbName = MAX_PATH * sizeof(WCHAR);
|
||||
lResult = RegEnumKeyExW(hSubKey, i, s_szName, &s_cbName,
|
||||
s_cchName = _countof(s_szName);
|
||||
lResult = RegEnumKeyExW(hSubKey, i, s_szName, &s_cchName,
|
||||
NULL, NULL, NULL, NULL);
|
||||
if (lResult == ERROR_NO_MORE_ITEMS)
|
||||
{
|
||||
|
@ -464,7 +446,8 @@ BOOL RegFindWalk(
|
|||
goto success;
|
||||
}
|
||||
|
||||
if (RegFindRecurse(hSubKey, ppszNames[i], NULL,
|
||||
fKeyMatched = (_wcsicmp(ppszNames[i], szKeyName) == 0);
|
||||
if (RegFindRecurse(hSubKey, ppszNames[i], (fKeyMatched ? pszValueName : NULL),
|
||||
ppszFoundSubKey, ppszFoundValueName))
|
||||
{
|
||||
LPWSTR psz = *ppszFoundSubKey;
|
||||
|
@ -687,11 +670,17 @@ BOOL FindNext(HWND hWnd)
|
|||
{
|
||||
GetKeyName(szFullKey, COUNT_OF(szFullKey), hKeyRoot, pszFoundSubKey);
|
||||
SelectNode(g_pChildWnd->hTreeWnd, szFullKey);
|
||||
SetValueName(g_pChildWnd->hListWnd, pszFoundValueName);
|
||||
free(pszFoundSubKey);
|
||||
|
||||
if (pszFoundValueName != NULL)
|
||||
{
|
||||
SetValueName(g_pChildWnd->hListWnd, pszFoundValueName);
|
||||
free(pszFoundValueName);
|
||||
SetFocus(g_pChildWnd->hListWnd);
|
||||
}
|
||||
else
|
||||
SetFocus(g_pChildWnd->hTreeWnd);
|
||||
}
|
||||
return fSuccess || s_bAbort;
|
||||
}
|
||||
|
||||
|
@ -810,18 +799,23 @@ static INT_PTR CALLBACK FindDialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPAR
|
|||
return iResult;
|
||||
}
|
||||
|
||||
void FindDialog(HWND hWnd)
|
||||
void FindNextMessageBox(HWND hWnd)
|
||||
{
|
||||
if (DialogBoxParamW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_FIND),
|
||||
hWnd, FindDialogProc, 0) != 0)
|
||||
{
|
||||
if (!FindNext(hWnd))
|
||||
{
|
||||
WCHAR msg[128], caption[128];
|
||||
|
||||
LoadStringW(hInst, IDS_FINISHEDFIND, msg, COUNT_OF(msg));
|
||||
LoadStringW(hInst, IDS_APP_TITLE, caption, COUNT_OF(caption));
|
||||
MessageBoxW(0, msg, caption, MB_ICONINFORMATION);
|
||||
}
|
||||
MessageBoxW(hWnd, msg, caption, MB_ICONINFORMATION);
|
||||
}
|
||||
}
|
||||
|
||||
void FindDialog(HWND hWnd)
|
||||
{
|
||||
if (DialogBoxParamW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_FIND),
|
||||
hWnd, FindDialogProc, 0) != 0)
|
||||
{
|
||||
FindNextMessageBox(hWnd);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,24 +33,16 @@
|
|||
static WCHAR s_szFavoritesRegKey[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Regedit\\Favorites";
|
||||
|
||||
static BOOL bInMenuLoop = FALSE; /* Tells us if we are in the menu loop */
|
||||
|
||||
/*******************************************************************************
|
||||
* Local module support methods
|
||||
*/
|
||||
|
||||
static void resize_frame_rect(HWND hWnd, PRECT prect)
|
||||
{
|
||||
RECT rt;
|
||||
/*
|
||||
if (IsWindowVisible(hToolBar)) {
|
||||
SendMessageW(hToolBar, WM_SIZE, 0, 0);
|
||||
GetClientRect(hToolBar, &rt);
|
||||
prect->top = rt.bottom+3;
|
||||
prect->bottom -= rt.bottom+3;
|
||||
}
|
||||
*/
|
||||
if (IsWindowVisible(hStatusBar))
|
||||
{
|
||||
RECT rt;
|
||||
|
||||
SetupStatusBar(hWnd, TRUE);
|
||||
GetWindowRect(hStatusBar, &rt);
|
||||
prect->bottom -= rt.bottom - rt.top;
|
||||
|
@ -287,7 +279,7 @@ static BOOL InitOpenFileName(HWND hWnd, OPENFILENAME* pofn)
|
|||
pofn->nMaxFile = _MAX_PATH;
|
||||
pofn->lpstrFileTitle = FileTitleBuffer;
|
||||
pofn->nMaxFileTitle = _MAX_PATH;
|
||||
pofn->Flags = OFN_HIDEREADONLY;
|
||||
pofn->Flags = OFN_EXPLORER | OFN_HIDEREADONLY;
|
||||
pofn->lpstrDefExt = L"reg";
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -389,7 +381,7 @@ static BOOL LoadHive(HWND hWnd)
|
|||
/* refresh tree and list views */
|
||||
RefreshTreeView(g_pChildWnd->hTreeWnd);
|
||||
pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hRootKey);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -427,7 +419,7 @@ static BOOL UnloadHive(HWND hWnd)
|
|||
/* refresh tree and list views */
|
||||
RefreshTreeView(g_pChildWnd->hTreeWnd);
|
||||
pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hRootKey);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -524,7 +516,7 @@ static BOOL ImportRegistryFile(HWND hWnd)
|
|||
/* refresh tree and list views */
|
||||
RefreshTreeView(g_pChildWnd->hTreeWnd);
|
||||
pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, pszKeyPath);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, pszKeyPath, TRUE);
|
||||
|
||||
return bRet;
|
||||
}
|
||||
|
@ -573,7 +565,7 @@ static UINT_PTR CALLBACK ExportRegistryFile_OFNHookProc(HWND hdlg, UINT uiMsg, W
|
|||
{
|
||||
GetWindowTextW(hwndExportBranchText, pszSelectedKey, _MAX_PATH);
|
||||
}
|
||||
else
|
||||
else if (pszSelectedKey)
|
||||
{
|
||||
pszSelectedKey[0] = L'\0';
|
||||
}
|
||||
|
@ -883,7 +875,7 @@ static BOOL CreateNewValue(HKEY hRootKey, LPCWSTR pszKeyPath, DWORD dwType)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath, TRUE);
|
||||
|
||||
/* locate the newly added value, and get ready to rename it */
|
||||
memset(&lvfi, 0, sizeof(lvfi));
|
||||
|
@ -891,7 +883,12 @@ static BOOL CreateNewValue(HKEY hRootKey, LPCWSTR pszKeyPath, DWORD dwType)
|
|||
lvfi.psz = szNewValue;
|
||||
iIndex = ListView_FindItem(g_pChildWnd->hListWnd, -1, &lvfi);
|
||||
if (iIndex >= 0)
|
||||
{
|
||||
ListView_SetItemState(g_pChildWnd->hListWnd, iIndex,
|
||||
LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
|
||||
ListView_EnsureVisible(g_pChildWnd->hListWnd, iIndex, FALSE);
|
||||
(void)ListView_EditLabel(g_pChildWnd->hListWnd, iIndex);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -1134,11 +1131,11 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
{
|
||||
case ID_EDIT_MODIFY:
|
||||
if (valueName && ModifyValue(hWnd, hKey, valueName, FALSE))
|
||||
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, FALSE);
|
||||
break;
|
||||
case ID_EDIT_MODIFY_BIN:
|
||||
if (valueName && ModifyValue(hWnd, hKey, valueName, TRUE))
|
||||
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, FALSE);
|
||||
break;
|
||||
case ID_EDIT_RENAME:
|
||||
if (GetFocus() == g_pChildWnd->hListWnd)
|
||||
|
@ -1186,7 +1183,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
item = ni;
|
||||
}
|
||||
|
||||
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, FALSE);
|
||||
if(errs > 0)
|
||||
{
|
||||
LoadStringW(hInst, IDS_ERR_DELVAL_CAPTION, caption, COUNT_OF(caption));
|
||||
|
@ -1229,7 +1226,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
FindDialog(hWnd);
|
||||
break;
|
||||
case ID_EDIT_FINDNEXT:
|
||||
FindNext(hWnd);
|
||||
FindNextMessageBox(hWnd);
|
||||
break;
|
||||
case ID_EDIT_COPYKEYNAME:
|
||||
CopyKeyName(hWnd, hKeyRoot, keyPath);
|
||||
|
@ -1249,7 +1246,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
case ID_VIEW_REFRESH:
|
||||
RefreshTreeView(g_pChildWnd->hTreeWnd);
|
||||
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath);
|
||||
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, TRUE);
|
||||
break;
|
||||
/*case ID_OPTIONS_TOOLBAR:*/
|
||||
/* toggle_child(hWnd, LOWORD(wParam), hToolBar);*/
|
||||
|
@ -1257,6 +1254,34 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
case ID_EDIT_NEW_KEY:
|
||||
CreateNewKey(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd));
|
||||
break;
|
||||
case ID_TREE_EXPANDBRANCH:
|
||||
TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_EXPAND);
|
||||
break;
|
||||
case ID_TREE_COLLAPSEBRANCH:
|
||||
TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_COLLAPSE);
|
||||
break;
|
||||
case ID_TREE_RENAME:
|
||||
SetFocus(g_pChildWnd->hTreeWnd);
|
||||
TreeView_EditLabel(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd));
|
||||
break;
|
||||
case ID_TREE_DELETE:
|
||||
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), &hKeyRoot);
|
||||
if (keyPath == 0 || *keyPath == 0)
|
||||
MessageBeep(MB_ICONHAND);
|
||||
else if (DeleteKey(hWnd, hKeyRoot, keyPath))
|
||||
DeleteNode(g_pChildWnd->hTreeWnd, 0);
|
||||
break;
|
||||
case ID_TREE_EXPORT:
|
||||
ExportRegistryFile(g_pChildWnd->hTreeWnd);
|
||||
break;
|
||||
case ID_TREE_PERMISSIONS:
|
||||
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), &hKeyRoot);
|
||||
RegKeyEditPermissions(hWnd, hKeyRoot, NULL, keyPath);
|
||||
break;
|
||||
case ID_SWITCH_PANELS:
|
||||
g_pChildWnd->nFocusPanel = !g_pChildWnd->nFocusPanel;
|
||||
SetFocus(g_pChildWnd->nFocusPanel? g_pChildWnd->hListWnd: g_pChildWnd->hTreeWnd);
|
||||
break;
|
||||
default:
|
||||
if ((LOWORD(wParam) >= ID_FAVORITES_MIN) && (LOWORD(wParam) <= ID_FAVORITES_MAX))
|
||||
{
|
||||
|
@ -1303,13 +1328,15 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
LRESULT CALLBACK FrameWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
RECT rc;
|
||||
switch (message)
|
||||
{
|
||||
case WM_CREATE:
|
||||
// For now, the Help dialog item is disabled because of lacking of HTML Help support
|
||||
EnableMenuItem(GetMenu(hWnd), ID_HELP_HELPTOPICS, MF_BYCOMMAND | MF_GRAYED);
|
||||
GetClientRect(hWnd, &rc);
|
||||
CreateWindowExW(0, szChildClass, NULL, WS_CHILD | WS_VISIBLE,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top,
|
||||
hWnd, (HMENU)0, hInst, 0);
|
||||
break;
|
||||
case WM_COMMAND:
|
||||
|
|
|
@ -134,7 +134,7 @@ BEGIN
|
|||
MENUITEM "&Преименуване", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Износ", ID_TREE_EXPORT
|
||||
MENUITEM "&Права...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Права...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Запомняне стойността на ключа", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -393,7 +393,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Разгръщане"
|
||||
IDS_COLLAPSE "&Свиване"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Отиване на '%s'"
|
||||
IDS_FINISHEDFIND "Търсенето в регистъра приключи."
|
||||
END
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Přejmenovat", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Exportovat", ID_TREE_EXPORT
|
||||
MENUITEM "Oprá&vnění...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "Oprá&vnění...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Z&kopírovat název klíče", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Rozbalit"
|
||||
IDS_COLLAPSE "&Sbalit"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Jít na '%s'"
|
||||
IDS_FINISHEDFIND "Prohledávání registru bylo dokončeno."
|
||||
END
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Umbenennen", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Exportieren", ID_TREE_EXPORT
|
||||
MENUITEM "&Berechtigungen...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Berechtigungen...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "S&chlüsselnamen kopieren", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Expandieren"
|
||||
IDS_COLLAPSE "&Schließen"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Gehe zu '%s'"
|
||||
IDS_FINISHEDFIND "Durchsuchen der Registry beendet."
|
||||
END
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ IDR_REGEDIT_MENU MENU
|
|||
BEGIN
|
||||
POPUP "&Αρχείο"
|
||||
BEGIN
|
||||
MENUITEM "&Εισαγωγή ...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Εισαγωγή...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Εξαγωγή...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Φόρτωση Hive...", ID_REGISTRY_LOADHIVE, GRAYED
|
||||
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Μετονομασία", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Εξαγωγή", ID_TREE_EXPORT
|
||||
MENUITEM "&Δικαιώματα...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Δικαιώματα...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Αντιγραφή Ονόματος Κλειδιού", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Expand"
|
||||
IDS_COLLAPSE "&Collapse"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Μετάβαση σε '%s'"
|
||||
IDS_FINISHEDFIND "Τέλος αναζήτησης στη registry."
|
||||
END
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ IDR_REGEDIT_MENU MENU
|
|||
BEGIN
|
||||
POPUP "&File"
|
||||
BEGIN
|
||||
MENUITEM "&Import ...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Import...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Export...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Load Hive...", ID_REGISTRY_LOADHIVE, GRAYED
|
||||
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Rename", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Export", ID_TREE_EXPORT
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Expand"
|
||||
IDS_COLLAPSE "&Collapse"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
|
||||
IDS_FINISHEDFIND "Finished searching through the registry."
|
||||
END
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ END
|
|||
|
||||
IDR_REGEDIT_MENU MENU
|
||||
BEGIN
|
||||
POPUP "&Registro"
|
||||
POPUP "&Archivo"
|
||||
BEGIN
|
||||
MENUITEM "&Importar archivo...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Exportar archivo...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
|
@ -132,7 +132,7 @@ BEGIN
|
|||
MENUITEM "&Renombrar", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Exportar", ID_TREE_EXPORT
|
||||
MENUITEM "&Permisos...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Permisos...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copiar nombre de clave", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -391,7 +391,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Expandir"
|
||||
IDS_COLLAPSE "&Contraer"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Ir a '%s'"
|
||||
IDS_FINISHEDFIND "Ha terminado la búsqueda en el Registro."
|
||||
END
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Renommer\tF2", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Exporter", ID_TREE_EXPORT
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copier le nom de la clé", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "Dérouler"
|
||||
IDS_COLLAPSE "Réduire"
|
||||
IDS_GOTO_SUGGESTED_KEY "Aller à '%s'"
|
||||
IDS_FINISHEDFIND "Recherche dans le registre terminée."
|
||||
END
|
||||
|
||||
|
@ -507,11 +506,11 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
|||
CAPTION "Chercher"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Chercher le suivant", IDOK, 197, 7, 50, 14
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 197, 24, 50, 14
|
||||
DEFPUSHBUTTON "Chercher le suivant", IDOK, 185, 7, 67, 14
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 185, 24, 67, 14
|
||||
GROUPBOX "Rechercher", IDC_STATIC, 7, 25, 63, 51
|
||||
LTEXT "Rechercher :", IDC_STATIC, 7, 8, 37, 10
|
||||
EDITTEXT IDC_FINDWHAT, 47, 7, 142, 13, ES_AUTOHSCROLL
|
||||
LTEXT "Rechercher :", IDC_STATIC, 7, 8, 42, 10
|
||||
EDITTEXT IDC_FINDWHAT, 48, 7, 133, 13, ES_AUTOHSCROLL
|
||||
CONTROL "Clés", IDC_LOOKAT_KEYS, "Button", BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP, 14, 36, 35, 8
|
||||
CONTROL "&Valeurs", IDC_LOOKAT_VALUES, "Button", BS_AUTOCHECKBOX |
|
||||
|
@ -519,7 +518,7 @@ BEGIN
|
|||
CONTROL "&Données", IDC_LOOKAT_DATA, "Button", BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP, 14, 60, 42, 8
|
||||
CONTROL "Chaîne complète seulement", IDC_MATCHSTRING, "Button", BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP, 83, 32, 94, 13
|
||||
WS_TABSTOP, 83, 32, 99, 13
|
||||
CONTROL "Sensible à la casse", IDC_MATCHCASE, "Button", BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP, 83, 48, 90, 12
|
||||
END
|
||||
|
|
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "שנה שם", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "יצא", ID_TREE_EXPORT
|
||||
MENUITEM "הרשאות...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "הרשאות...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "העתק שם מפתח", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "הרחב"
|
||||
IDS_COLLAPSE "כווץ"
|
||||
IDS_GOTO_SUGGESTED_KEY "עבור אל '%s'"
|
||||
IDS_FINISHEDFIND "Finished searching through the registry."
|
||||
END
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Rename", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Export", ID_TREE_EXPORT
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Expand"
|
||||
IDS_COLLAPSE "&Collapse"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
|
||||
IDS_FINISHEDFIND "Finished searching through the registry."
|
||||
END
|
||||
|
||||
|
|
|
@ -28,10 +28,10 @@ IDR_REGEDIT_MENU MENU
|
|||
BEGIN
|
||||
POPUP "&File"
|
||||
BEGIN
|
||||
MENUITEM "&Impor ...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Impor...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Ekspor...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Ambil Hive...", ID_REGISTRY_LOADHIVE, GRAYED
|
||||
MENUITEM "Muat Hive...", ID_REGISTRY_LOADHIVE, GRAYED
|
||||
MENUITEM "Buang Hive...", ID_REGISTRY_UNLOADHIVE, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Sambung Registri Jaringan...", ID_REGISTRY_CONNECTNETWORKREGISTRY
|
||||
|
@ -43,7 +43,7 @@ BEGIN
|
|||
END
|
||||
POPUP "&Edit"
|
||||
BEGIN
|
||||
MENUITEM "&Modifikasi", ID_EDIT_MODIFY
|
||||
MENUITEM "&Ubah", ID_EDIT_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
POPUP "&Baru"
|
||||
BEGIN
|
||||
|
@ -91,8 +91,8 @@ IDR_POPUP_MENUS MENU
|
|||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "&Modifikasi", ID_EDIT_MODIFY
|
||||
MENUITEM "Modifikasi Data Biner", ID_EDIT_MODIFY_BIN
|
||||
MENUITEM "&Ubah", ID_EDIT_MODIFY
|
||||
MENUITEM "Ubah Data Biner", ID_EDIT_MODIFY_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Hapus\tDel", ID_EDIT_DELETE
|
||||
MENUITEM "&Ganti nama", ID_EDIT_RENAME
|
||||
|
@ -129,9 +129,9 @@ BEGIN
|
|||
MENUITEM "&Ganti nama", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Ekspor", ID_TREE_EXPORT
|
||||
MENUITEM "&Perijinan...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Perijinan...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copy Nama Kunci", ID_EDIT_COPYKEYNAME
|
||||
MENUITEM "Copy Nama Kunci", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
POPUP ""
|
||||
BEGIN
|
||||
|
@ -270,7 +270,7 @@ STRINGTABLE
|
|||
BEGIN
|
||||
ID_REGISTRY_MENU "Berisi perintah untuk bekerja dengan registri keseluruhan"
|
||||
ID_EDIT_MENU "Berisi perintah untuk mengedit nilai atau kunci"
|
||||
ID_VIEW_MENU "Berisi perintah untuk mengkustomisasi jendela registri"
|
||||
ID_VIEW_MENU "Berisi perintah untuk mengatur jendela registri"
|
||||
ID_FAVOURITES_MENU "Berisi perintah untuk mengakses kunci yang sering digunakan"
|
||||
ID_HELP_MENU "Berisi perintah untuk menampilkan bantuan dan informasi mengenai editor registri"
|
||||
ID_EDIT_NEW_MENU "Berisi perintah untuk membuat kunci atau nilai baru"
|
||||
|
@ -278,7 +278,7 @@ END
|
|||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_EDIT_MODIFY "Memodifikasi data nilail"
|
||||
ID_EDIT_MODIFY "Mengubah data nilai"
|
||||
ID_EDIT_NEW_KEY "Menambah kunci baru"
|
||||
ID_EDIT_NEW_STRINGVALUE "Menambah nilai string baru"
|
||||
ID_EDIT_NEW_BINARYVALUE "Menambah nilai biner baru"
|
||||
|
@ -386,9 +386,8 @@ END
|
|||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EXPAND "&Lebarkan"
|
||||
IDS_EXPAND "Pe&rluas"
|
||||
IDS_COLLAPSE "&Sempitkan"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Pergi ke '%s'"
|
||||
IDS_FINISHEDFIND "Selesai mencari seluruh registri."
|
||||
END
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ END
|
|||
|
||||
IDR_REGEDIT_MENU MENU
|
||||
BEGIN
|
||||
POPUP "&Registro"
|
||||
POPUP "&File"
|
||||
BEGIN
|
||||
MENUITEM "&Importa...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Esporta...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Rinomina", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Esporta", ID_TREE_EXPORT
|
||||
MENUITEM "&Permessi...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Permessi...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copia il nome della chiave", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Espandi"
|
||||
IDS_COLLAPSE "&Raccogli"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Vai a '%s'"
|
||||
IDS_FINISHEDFIND "Fine ricerca nel registro."
|
||||
END
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "名前の変更(&R)", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "エクスポート(&E)", ID_TREE_EXPORT
|
||||
MENUITEM "アクセス許可(&P)...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "アクセス許可(&P)...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "キー名のコピー(&C)", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "展開(&E)"
|
||||
IDS_COLLAPSE "閉じる(&C)"
|
||||
IDS_GOTO_SUGGESTED_KEY "'%s' へ移動する(&G)"
|
||||
IDS_FINISHEDFIND "レジストリをすべて検索しました。"
|
||||
END
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@ BEGIN
|
|||
MENUITEM "이름 바꾸기(&R)", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "내보내기(&E)", ID_TREE_EXPORT
|
||||
MENUITEM "권한 설정(&P)", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "권한 설정(&P)", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "키 이름 복사(&C)", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -390,7 +390,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "확장(&E)"
|
||||
IDS_COLLAPSE "축소(&C)"
|
||||
IDS_GOTO_SUGGESTED_KEY "'%s'로 가기(&G)"
|
||||
IDS_FINISHEDFIND "레지스트리 검색을 완료했습니다."
|
||||
END
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Rename", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Export", ID_TREE_EXPORT
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Expand"
|
||||
IDS_COLLAPSE "&Collapse"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
|
||||
IDS_FINISHEDFIND "Finished searching through the registry."
|
||||
END
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ IDR_REGEDIT_MENU MENU
|
|||
BEGIN
|
||||
POPUP "&Fil"
|
||||
BEGIN
|
||||
MENUITEM "&Import ...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Import...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Eksport...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Last inn struktur...", ID_REGISTRY_LOADHIVE, GRAYED
|
||||
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Gi nytt navn", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Eksport", ID_TREE_EXPORT
|
||||
MENUITEM "&Rettigheter...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Rettigheter...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Kopier nøkkelnavn", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Utvid"
|
||||
IDS_COLLAPSE "&Minimer"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Gå til '%s'"
|
||||
IDS_FINISHEDFIND "Søket i registret er fullført."
|
||||
END
|
||||
|
||||
|
|
|
@ -139,7 +139,7 @@ BEGIN
|
|||
MENUITEM "Z&mień nazwę", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Eksportuj", ID_TREE_EXPORT
|
||||
MENUITEM "&Uprawnienia..", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Uprawnienia..", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Kopiuj nazwę klucza", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -398,7 +398,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Rozwiń"
|
||||
IDS_COLLAPSE "&Zwiń"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Idź do '%s'"
|
||||
IDS_FINISHEDFIND "Przeszukiwanie rejestru zakończone."
|
||||
END
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Renomear", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Exportar", ID_TREE_EXPORT
|
||||
MENUITEM "&Permissões...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Permissões...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copiar nome da chave", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Expandir"
|
||||
IDS_COLLAPSE "&Reduzir"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Ir para '%s'"
|
||||
IDS_FINISHEDFIND "Pesquisa do Registro concluída."
|
||||
END
|
||||
|
||||
|
|
|
@ -26,16 +26,16 @@ END
|
|||
|
||||
IDR_REGEDIT_MENU MENU
|
||||
BEGIN
|
||||
POPUP "&Registro"
|
||||
POPUP "&Registo"
|
||||
BEGIN
|
||||
MENUITEM "&Importar arquivo do Registro...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Exportar arquivo do Registro...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
MENUITEM "&Importar arquivo do Registo...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Exportar arquivo do Registo...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Load Hive...", ID_REGISTRY_LOADHIVE, GRAYED
|
||||
MENUITEM "Unload Hive...", ID_REGISTRY_UNLOADHIVE, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Conectar Registro da rede...", ID_REGISTRY_CONNECTNETWORKREGISTRY
|
||||
MENUITEM "&Desconectar Registro da rede...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
|
||||
MENUITEM "&Ligar Registo da rede...", ID_REGISTRY_CONNECTNETWORKREGISTRY
|
||||
MENUITEM "&Desligar Registo da rede...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Im&primir...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
|
@ -66,7 +66,7 @@ BEGIN
|
|||
MENUITEM "&Localizar...\tCtrl+F", ID_EDIT_FIND
|
||||
MENUITEM "L&ocalizar próxima\tF3", ID_EDIT_FINDNEXT
|
||||
END
|
||||
POPUP "E&xibir"
|
||||
POPUP "&Ver"
|
||||
BEGIN
|
||||
MENUITEM "&Barra de status", ID_VIEW_STATUSBAR
|
||||
MENUITEM SEPARATOR
|
||||
|
@ -83,7 +83,7 @@ BEGIN
|
|||
BEGIN
|
||||
MENUITEM "&Topics da Ajuda", ID_HELP_HELPTOPICS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Sobre o Editor do Registro", ID_HELP_ABOUT
|
||||
MENUITEM "&Sobre o Editor do Registo", ID_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Rename", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Export", ID_TREE_EXPORT
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -261,18 +261,18 @@ END
|
|||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APP_TITLE "Editor do Registro"
|
||||
IDS_APP_TITLE "Editor do Registo"
|
||||
IDC_REGEDIT "REGEDIT"
|
||||
IDC_REGEDIT_FRAME "REGEDIT_FRAME"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_REGISTRY_MENU "Contém comandos para trabalhar com o Registro inteiro."
|
||||
ID_REGISTRY_MENU "Contém comandos para trabalhar com o Registo inteiro."
|
||||
ID_EDIT_MENU "Contém comandos para edição de valores ou chaves."
|
||||
ID_VIEW_MENU "Contém comandos para personalização da janela do Registro."
|
||||
ID_VIEW_MENU "Contém comandos para personalização da janela do Registo."
|
||||
ID_FAVOURITES_MENU "Contém comandos para acessar chaves frequentemente usadas."
|
||||
ID_HELP_MENU "Contém comandos para exibição da ajuda e informações sobre o Editor do Registro."
|
||||
ID_HELP_MENU "Contém comandos para exibição da ajuda e informações sobre o Editor do Registo."
|
||||
ID_EDIT_NEW_MENU "Contém comandos para criação de novas chaves ou valores"
|
||||
END
|
||||
|
||||
|
@ -283,20 +283,20 @@ BEGIN
|
|||
ID_EDIT_NEW_STRINGVALUE "Adiciona um novo valor texto."
|
||||
ID_EDIT_NEW_BINARYVALUE "Adiciona um novo valor binário."
|
||||
ID_EDIT_NEW_DWORDVALUE "Adiciona um novo valor DWORD."
|
||||
ID_REGISTRY_IMPORTREGISTRYFILE "Importa um arquivo texto para o registro."
|
||||
ID_REGISTRY_EXPORTREGISTRYFILE "Exporta todo ou parte do registro para um arquivo texto."
|
||||
ID_REGISTRY_IMPORTREGISTRYFILE "Importa um arquivo texto para o registo."
|
||||
ID_REGISTRY_EXPORTREGISTRYFILE "Exporta todo ou parte do registo para um arquivo texto."
|
||||
ID_REGISTRY_LOADHIVE "Loads a hive file into the registry"
|
||||
ID_REGISTRY_UNLOADHIVE "Unloads a hive from the registry"
|
||||
ID_REGISTRY_CONNECTNETWORKREGISTRY "Conecta a um registro em um computador remoto."
|
||||
ID_REGISTRY_DISCONNECTNETWORKREGISTRY "Desconecta de um registro um computador remoto."
|
||||
ID_REGISTRY_PRINT "Imprime todo ou parte do registro."
|
||||
ID_REGISTRY_CONNECTNETWORKREGISTRY "Liga a um registo num computador remoto."
|
||||
ID_REGISTRY_DISCONNECTNETWORKREGISTRY "Desliga um registo de um computador remoto."
|
||||
ID_REGISTRY_PRINT "Imprime todo ou parte do registo."
|
||||
/* ID_HELP_HELPTOPICS "Abre a ajuda do Editor do Registro." */
|
||||
ID_HELP_ABOUT "Exibe informações do programa, número da versão e copyright."
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_REGISTRY_EXIT "Encerra o Editor do Registro."
|
||||
ID_REGISTRY_EXIT "Encerra o Editor do Registo."
|
||||
ID_FAVOURITES_ADDTOFAVOURITES "Adiciona chaves a lista de favoritos."
|
||||
ID_FAVOURITES_REMOVEFAVOURITE "Remove chaves da lista de favoritos."
|
||||
ID_VIEW_STATUSBAR "Mostra ou oculta a barra de status."
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Expand"
|
||||
IDS_COLLAPSE "&Collapse"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
|
||||
IDS_FINISHEDFIND "Finished searching through the registry."
|
||||
END
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@ BEGIN
|
|||
MENUITEM "&Redenumește", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "E&xportă", ID_TREE_EXPORT
|
||||
MENUITEM "Permisiuni…", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "Permisiuni…", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copiază numele cheii", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -390,7 +390,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Extinde"
|
||||
IDS_COLLAPSE "&Restrânge"
|
||||
IDS_GOTO_SUGGESTED_KEY "S&alt la „%s”"
|
||||
IDS_FINISHEDFIND "Căutarea în registru a fost finalizată."
|
||||
END
|
||||
|
||||
|
|
|
@ -26,10 +26,10 @@ END
|
|||
|
||||
IDR_REGEDIT_MENU MENU
|
||||
BEGIN
|
||||
POPUP "&Реестр"
|
||||
POPUP "&Файл"
|
||||
BEGIN
|
||||
MENUITEM "&Импортировать файл реестра...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Экспортировать файл реестра...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
MENUITEM "&Импортировать из файла...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Экспортировать в файл...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Загрузить куст...", ID_REGISTRY_LOADHIVE, GRAYED
|
||||
MENUITEM "Выгрузить куст...", ID_REGISTRY_UNLOADHIVE, GRAYED
|
||||
|
@ -56,7 +56,7 @@ BEGIN
|
|||
MENUITEM "Рас&ширяемый строковый параметр", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
|
||||
END
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Права доступа...", ID_EDIT_PERMISSIONS
|
||||
MENUITEM "Разре&шения...", ID_EDIT_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Удалить\tDel", ID_EDIT_DELETE
|
||||
MENUITEM "&Переименовать", ID_EDIT_RENAME
|
||||
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Переименовать", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Экспорт", ID_TREE_EXPORT
|
||||
MENUITEM "Разре&шения...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "Разре&шения...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Копировать имя ключа", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -367,8 +367,8 @@ BEGIN
|
|||
IDS_ACCESS_READ "Чтение"
|
||||
IDS_ACCESS_QUERYVALUE "Запрос значений"
|
||||
IDS_ACCESS_SETVALUE "Установка значений"
|
||||
IDS_ACCESS_CREATESUBKEY "Создание подключей"
|
||||
IDS_ACCESS_ENUMERATESUBKEYS "Перечисление подключей"
|
||||
IDS_ACCESS_CREATESUBKEY "Создание разделов"
|
||||
IDS_ACCESS_ENUMERATESUBKEYS "Перечисление разделов"
|
||||
IDS_ACCESS_NOTIFY "Уведомление"
|
||||
IDS_ACCESS_CREATELINK "Создание связи"
|
||||
IDS_ACCESS_DELETE "Удаление"
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Развернуть"
|
||||
IDS_COLLAPSE "&Свернуть"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Перейти к '%s'"
|
||||
IDS_FINISHEDFIND "Поиск в реестре завершен."
|
||||
END
|
||||
|
||||
|
|
|
@ -134,7 +134,7 @@ BEGIN
|
|||
MENUITEM "&Premenovať", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Export", ID_TREE_EXPORT
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -393,7 +393,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Expand"
|
||||
IDS_COLLAPSE "&Collapse"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
|
||||
IDS_FINISHEDFIND "Finished searching through the registry."
|
||||
END
|
||||
|
||||
|
|
|
@ -28,14 +28,14 @@ IDR_REGEDIT_MENU MENU
|
|||
BEGIN
|
||||
POPUP "&Register"
|
||||
BEGIN
|
||||
MENUITEM "&Uvozi registrsko datoteko ...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Izvozi registrsko datoteko ...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
MENUITEM "&Uvozi registrsko datoteko...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Izvozi registrsko datoteko...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Load Hive...", ID_REGISTRY_LOADHIVE, GRAYED
|
||||
MENUITEM "Unload Hive...", ID_REGISTRY_UNLOADHIVE, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "P&oveži se z omrežnim registrom ...", ID_REGISTRY_CONNECTNETWORKREGISTRY
|
||||
MENUITEM "P&rekini povezavo z omrežnim registrom ...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
|
||||
MENUITEM "P&oveži se z omrežnim registrom...", ID_REGISTRY_CONNECTNETWORKREGISTRY
|
||||
MENUITEM "P&rekini povezavo z omrežnim registrom...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Na&tisni...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Rename", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Export", ID_TREE_EXPORT
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Expand"
|
||||
IDS_COLLAPSE "&Collapse"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
|
||||
IDS_FINISHEDFIND "Finished searching through the registry."
|
||||
END
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ IDR_REGEDIT_MENU MENU
|
|||
BEGIN
|
||||
POPUP "&File"
|
||||
BEGIN
|
||||
MENUITEM "&Importo ...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Importo...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
MENUITEM "&Eksporto...", ID_REGISTRY_EXPORTREGISTRYFILE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Ngarko koshere...", ID_REGISTRY_LOADHIVE, GRAYED
|
||||
|
@ -133,7 +133,7 @@ BEGIN
|
|||
MENUITEM "Emero", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Exporto", ID_TREE_EXPORT
|
||||
MENUITEM "T'drejta...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "T'drejta...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Kopjo emrin çelesit", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -392,7 +392,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "Zgjat"
|
||||
IDS_COLLAPSE "Zgjero"
|
||||
IDS_GOTO_SUGGESTED_KEY "Shko tek '%s'"
|
||||
IDS_FINISHEDFIND "Përfunduar kërkimin përmes regjistrit."
|
||||
END
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ BEGIN
|
|||
MENUITEM "&Byt namn", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Exportera", ID_TREE_EXPORT
|
||||
MENUITEM "&Behörigheter...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Behörigheter...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Kopiera nyckelnamn", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -388,7 +388,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Visa nivå"
|
||||
IDS_COLLAPSE "&Dölj nivå"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
|
||||
IDS_FINISHEDFIND "Slutfört sökningen av registret."
|
||||
END
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@ BEGIN
|
|||
MENUITEM "&Rename", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Export", ID_TREE_EXPORT
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -390,7 +390,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Expand"
|
||||
IDS_COLLAPSE "&Collapse"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
|
||||
IDS_FINISHEDFIND "Finished searching through the registry."
|
||||
END
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ BEGIN
|
|||
MENUITEM "A&ğdaki Değer Defteri'ne Bağlan...", ID_REGISTRY_CONNECTNETWORKREGISTRY
|
||||
MENUITEM "Ağ&daki Değer Defteri'ne Bağlantıyı Kes...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Ya&zdır...\tDenetim+P", ID_REGISTRY_PRINT, GRAYED
|
||||
MENUITEM "Ya&zdır...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Çıkış", ID_REGISTRY_EXIT
|
||||
END
|
||||
|
@ -60,12 +60,12 @@ BEGIN
|
|||
MENUITEM SEPARATOR
|
||||
MENUITEM "&İzinler...", ID_EDIT_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Sil\tSil", ID_EDIT_DELETE
|
||||
MENUITEM "&Sil\tDel", ID_EDIT_DELETE
|
||||
MENUITEM "&Adını Değiştir", ID_EDIT_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Di&zin Yolunu Çoğalt", ID_EDIT_COPYKEYNAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Bul...\tDenetim+F", ID_EDIT_FIND
|
||||
MENUITEM "&Bul...\tCtrl+F", ID_EDIT_FIND
|
||||
MENUITEM "S&onrakini Bul\tF3...", ID_EDIT_FINDNEXT
|
||||
END
|
||||
POPUP "&Görünüm"
|
||||
|
@ -96,7 +96,7 @@ BEGIN
|
|||
MENUITEM "&Değiştir...", ID_EDIT_MODIFY
|
||||
MENUITEM "&İkili Veriyi Değiştir...", ID_EDIT_MODIFY_BIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Sil\tSil", ID_EDIT_DELETE
|
||||
MENUITEM "&Sil\tDel", ID_EDIT_DELETE
|
||||
MENUITEM "&Adını Değiştir", ID_EDIT_RENAME
|
||||
END
|
||||
POPUP ""
|
||||
|
@ -131,7 +131,7 @@ BEGIN
|
|||
MENUITEM "&Adını Değiştir", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Ver...", ID_TREE_EXPORT
|
||||
MENUITEM "&İzinler...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&İzinler...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Dizin Yolunu Çoğalt", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -150,7 +150,7 @@ END
|
|||
|
||||
IDD_EDIT_STRING DIALOGEX 32, 24, 252, 84
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Dizgi Değerini Düzenle"
|
||||
CAPTION "Dize Değerini Düzenle"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8
|
||||
|
@ -163,7 +163,7 @@ END
|
|||
|
||||
IDD_EDIT_MULTI_STRING DIALOGEX 32, 24, 252, 174
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Çok Dizeli Dizgi Değerini Düzenle"
|
||||
CAPTION "Çoklu Dize Değerini Düzenle"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8
|
||||
|
@ -190,7 +190,7 @@ END
|
|||
|
||||
IDD_EDIT_DWORD DIALOGEX 32, 24, 252, 104
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "32 Bitlik Değeri Düzenle"
|
||||
CAPTION "DWORD Değeri Düzenle"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8
|
||||
|
@ -206,7 +206,7 @@ END
|
|||
|
||||
IDD_EDIT_RESOURCE_LIST DIALOGEX 32, 24, 170, 120
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Kaynak Dizelgesi"
|
||||
CAPTION "Kaynak Listesi"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_RESOURCE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER |
|
||||
|
@ -232,14 +232,14 @@ BEGIN
|
|||
LTEXT "Giriş:", IDC_STATIC, 10, 134, 38, 8
|
||||
CONTROL "", IDC_PORT_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER |
|
||||
LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 144, 261, 31
|
||||
LTEXT "Husûsî Aygıt Verisi:", IDC_STATIC, 10, 177, 80, 8
|
||||
LTEXT "Özel Aygıt Verisi:", IDC_STATIC, 10, 177, 80, 8
|
||||
CONTROL "", IDC_DEVICE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER |
|
||||
LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 188, 261, 31
|
||||
GROUPBOX "Kullanım", IDC_STATIC, 10, 219, 125, 39
|
||||
LTEXT "Belirsiz:", IDC_UNDETERMINED, 18, 230, 46, 8, WS_DISABLED
|
||||
LTEXT "Paylaşılan:", IDC_SHARED, 18, 240, 48, 8, WS_DISABLED
|
||||
LTEXT "Husûsî Aygıt", IDC_DEVICE_EXCLUSIVE, 72, 230, 58, 8, WS_DISABLED
|
||||
LTEXT "Husûsî Sürücü", IDC_DRIVER_EXCLUSIVE, 72, 240, 54, 8, WS_DISABLED
|
||||
LTEXT "Özel Aygıt", IDC_DEVICE_EXCLUSIVE, 72, 230, 58, 8, WS_DISABLED
|
||||
LTEXT "Özel Sürücü", IDC_DRIVER_EXCLUSIVE, 72, 240, 54, 8, WS_DISABLED
|
||||
RTEXT "Arayüz Türü:", IDC_STATIC, 144, 220, 58, 8
|
||||
LTEXT "", IDC_INTERFACETYPE, 205, 220, 66, 8
|
||||
RTEXT "Veriyolu Numarası:", IDC_STATIC, 151, 230, 51, 8
|
||||
|
@ -271,7 +271,7 @@ END
|
|||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_REGISTRY_MENU "Bütün Değer Defteri ile çalışma komutlarını içerir."
|
||||
ID_EDIT_MENU "Dizinleri veyâ değerleri düzenleme komutlarını içerir."
|
||||
ID_EDIT_MENU "Anahtar veya değerleri düzenleme komutlarını içerir."
|
||||
ID_VIEW_MENU "Değer Defteri penceresinin husûsileştirme komutlarını içerir."
|
||||
ID_FAVOURITES_MENU "Sık kullanılan dizinleri kullanma komutlarını içerir."
|
||||
ID_HELP_MENU "Değer Defteri Düzenleyicisi ile ilgili bilgiyi ya da yardımı görüntüleme komutlarını içerir."
|
||||
|
@ -282,9 +282,9 @@ STRINGTABLE
|
|||
BEGIN
|
||||
ID_EDIT_MODIFY "Değerin verisini değiştirir."
|
||||
ID_EDIT_NEW_KEY "Yeni bir dizin ekler."
|
||||
ID_EDIT_NEW_STRINGVALUE "Yeni bir dizgi değeri ekler."
|
||||
ID_EDIT_NEW_STRINGVALUE "Yeni bir dizi değeri ekler."
|
||||
ID_EDIT_NEW_BINARYVALUE "Yeni bir ikili değer ekler."
|
||||
ID_EDIT_NEW_DWORDVALUE "Yeni bir 32 bitlik değer ekler."
|
||||
ID_EDIT_NEW_DWORDVALUE "Yeni bir DWORD değeri ekler."
|
||||
ID_REGISTRY_IMPORTREGISTRYFILE "Bir metin kütüğünü Değer Defteri'ne alır."
|
||||
ID_REGISTRY_EXPORTREGISTRYFILE "Değer Defteri'nin tümünü ya da bir bölümünü bir metin kütüğüne verir."
|
||||
ID_REGISTRY_LOADHIVE "Değer Defteri'ne bir yığın kütüğü yükler."
|
||||
|
@ -293,7 +293,7 @@ BEGIN
|
|||
ID_REGISTRY_DISCONNECTNETWORKREGISTRY "Uzaktaki bir bilgisayarın Değer Defteri'sine olan bağlantıyı keser."
|
||||
ID_REGISTRY_PRINT "Değer Defteri'nin tümünü ya da bir bölümünü yazdırır."
|
||||
/* ID_HELP_HELPTOPICS "Değer Defteri Düzenleyicisi Yardımı'nı açar." */
|
||||
ID_HELP_ABOUT "İzlenceyle ilgili bilgi, sürüm numarası ve telif hakkı görüntüler."
|
||||
ID_HELP_ABOUT "Programla ilgili bilgi, sürüm numarası ve telif hakkı görüntüler."
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -302,7 +302,7 @@ BEGIN
|
|||
ID_FAVOURITES_ADDTOFAVOURITES "Dizinleri yer imleri dizelgesine ekler."
|
||||
ID_FAVOURITES_REMOVEFAVOURITE "Dizinleri yer imleri dizelgesinden kaldırır."
|
||||
ID_VIEW_STATUSBAR "Durum çubuğunu gösterir ya da gizler."
|
||||
ID_VIEW_SPLIT "İki levhâ arasındaki ayırıcının konumunu değiştirir."
|
||||
ID_VIEW_SPLIT "İki levha arasındaki ayırıcının konumunu değiştirir."
|
||||
ID_VIEW_REFRESH "Pencereyi yeniler."
|
||||
ID_EDIT_DELETE "Seçileni siler."
|
||||
ID_EDIT_RENAME "Seçilenin adını değiştirir."
|
||||
|
@ -313,7 +313,7 @@ END
|
|||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ERROR "Yanlışlık"
|
||||
IDS_ERROR "Hata"
|
||||
IDS_WARNING "Uyarı"
|
||||
IDS_BAD_KEY "Dizin sorgulanamıyor: %s"
|
||||
IDS_BAD_VALUE "Değer sorgulanamıyor: %s"
|
||||
|
@ -326,9 +326,9 @@ BEGIN
|
|||
IDS_QUERY_DELETE_ONE "Bu değeri silmek istediğinizden emin misiniz?"
|
||||
IDS_QUERY_DELETE_MORE "Bu değerleri silmek istediğinizden emin misiniz?"
|
||||
IDS_QUERY_DELETE_CONFIRM "Değer Silme Doğrulaması"
|
||||
IDS_ERR_DELVAL_CAPTION "Değerler Silinmesi Yanlışlığı"
|
||||
IDS_ERR_DELVAL_CAPTION "Değer Silime Hatası"
|
||||
IDS_ERR_DELETEVALUE "Tüm belirtilmiş değerler silinemiyor."
|
||||
IDS_ERR_RENVAL_CAPTION "Değer Adı Değiştirilmesi Yanlışlığı"
|
||||
IDS_ERR_RENVAL_CAPTION "Değer Adı Değiştirilmesi Hatası"
|
||||
IDS_ERR_RENVAL_TOEMPTY "Adı değiştirilemiyor: %s. Belirtilen değer adı boş. Başka bir ad yazıp yeniden deneyiniz."
|
||||
IDS_QUERY_IMPORT_HIVE_CAPTION "Dizin Yenileme Doğrulaması"
|
||||
IDS_QUERY_IMPORT_HIVE_MSG "Bir dizin seçili dizinle yenilenecektir.\nBu dizinin tüm alt dizinleri ve değerleri silinecektir.\nİşlemi sürdürmek istiyor musunuz?"
|
||||
|
@ -347,7 +347,7 @@ BEGIN
|
|||
IDS_EXPORT_REG_FILE "Değer Kütüğüne Ver"
|
||||
IDS_LOAD_HIVE "Yığın Yükle"
|
||||
IDS_UNLOAD_HIVE "Yığını Kaldır"
|
||||
IDS_INVALID_DWORD "(Geçersiz 32 bitlik değer)"
|
||||
IDS_INVALID_DWORD "(Geçersiz DWORD değeri)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -359,7 +359,7 @@ BEGIN
|
|||
IDS_FLT_HIVFILES_FLT "*.*"
|
||||
IDS_FLT_REGEDIT4 "Windows 9x ve Windows NT 4.0 Türündeki Değer Kütükleri (REGEDIT4) (*.reg)"
|
||||
IDS_FLT_REGEDIT4_FLT "*.reg"
|
||||
IDS_FLT_ALLFILES "Tüm Kütükler (*.*)"
|
||||
IDS_FLT_ALLFILES "Tüm Dosyalar (*.*)"
|
||||
IDS_FLT_ALLFILES_FLT "*.*"
|
||||
END
|
||||
|
||||
|
@ -390,16 +390,15 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Genişlet"
|
||||
IDS_COLLAPSE "&Daralt"
|
||||
IDS_GOTO_SUGGESTED_KEY "G&it: %s"
|
||||
IDS_FINISHEDFIND "Değer Defteri boyunca arama bitti."
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_IMPORT_PROMPT "Bilgi ekleme, yanlışlıkla değerleri değiştirebilir ya da silebilir ve bileşenlerin doğru çalışmasını engelleyebilir.\nEğer ""%s"" içindeki bilginin kaynağına güvenmiyorsanız onu Değer Defteri'ne eklemeyiniz.\n\nSürdürmek istediğinizden emin misiniz?"
|
||||
IDS_IMPORT_OK """%s"" içinde bulunan dizinler ve değerler Değer Defteri'ne başarıyla eklendi."
|
||||
IDS_IMPORT_ERROR """%s"" alınamıyor: Kütüğü açmada yanlışlık. Bir disk yanlışlığı, bir kütük dizgesi yanlışlığı ya da kütüğün olmaması olabilir."
|
||||
IDS_EXPORT_ERROR """%s"" verilemiyor: Kütüğü oluşturmada ya da kütüğe yazmada yanlışlık. Bir disk yanlışlığı ya da bir kütük dizgesi yanlışlığı olabilir."
|
||||
IDS_IMPORT_OK """%s"" içinde bulunan anahtar ve değerler Kayıt Defteri'ne başarıyla eklendi."
|
||||
IDS_IMPORT_ERROR """%s"" alınamıyor: Dosyayı açmada hata. Bir disk hatası, bir dosya tablosu hatası ya da tablonun olmaması olabilir."
|
||||
IDS_EXPORT_ERROR """%s"" verilemiyor: Dosyayı oluşturmada ya da dosyaya yazmada hatası. Bir disk hatası ya da bir dosya tablosu hatası olabilir."
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
@ -410,11 +409,11 @@ BEGIN
|
|||
IDS_DMA_PORT "Giriş"
|
||||
IDS_INTERRUPT_VECTOR "Yöney"
|
||||
IDS_INTERRUPT_LEVEL "Düzey"
|
||||
IDS_INTERRUPT_AFFINITY "Benzerlik"
|
||||
IDS_INTERRUPT_AFFINITY "İlişki"
|
||||
IDS_INTERRUPT_TYPE "Tür"
|
||||
IDS_MEMORY_ADDRESS "Fizikî Erişki"
|
||||
IDS_MEMORY_LENGTH "Uzunluk"
|
||||
IDS_MEMORY_ACCESS "Erişim"
|
||||
IDS_MEMORY_ACCESS "Adres"
|
||||
IDS_PORT_ADDRESS "Fizikî Erişki"
|
||||
IDS_PORT_LENGTH "Uzunluk"
|
||||
IDS_PORT_ACCESS "Erişim"
|
||||
|
@ -520,7 +519,7 @@ BEGIN
|
|||
WS_TABSTOP, 14, 48, 36, 8
|
||||
CONTROL "&Değer Verileri", IDC_LOOKAT_DATA, "Button", BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP, 14, 60, 42, 8
|
||||
CONTROL "&Yalnızca Tüm Dizgiyi Karşılaştır", IDC_MATCHSTRING, "Button", BS_AUTOCHECKBOX |
|
||||
CONTROL "&Yalnızca Tüm Dizeyi Karşılaştır", IDC_MATCHSTRING, "Button", BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP, 83, 32, 94, 13
|
||||
CONTROL "&Büyük-Küçük Harfliği Karşılaştır", IDC_MATCHCASE, "Button", BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP, 83, 48, 90, 12
|
||||
|
|
|
@ -131,7 +131,7 @@ BEGIN
|
|||
MENUITEM "Перей&менувати", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Експорт", ID_TREE_EXPORT
|
||||
MENUITEM "&Дозволи...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "&Дозволи...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Копіювати ім'я розділу", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -390,7 +390,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "&Розгорнути"
|
||||
IDS_COLLAPSE "&Згорнути"
|
||||
IDS_GOTO_SUGGESTED_KEY "&Перейти до '%s'"
|
||||
IDS_FINISHEDFIND "Пошук у реєстрі завершений."
|
||||
END
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@ BEGIN
|
|||
MENUITEM "重命名(&R)", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "导出(&E)", ID_TREE_EXPORT
|
||||
MENUITEM "权限(&P)...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "权限(&P)...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "复制键名(&C)", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -319,7 +319,7 @@ BEGIN
|
|||
IDS_BAD_VALUE "不能查询值 '%s'"
|
||||
IDS_UNSUPPORTED_TYPE "不能编辑这种类型的键 (%ld)"
|
||||
IDS_TOO_BIG_VALUE "数值过大 (%ld)"
|
||||
IDS_MULTI_SZ_EMPTY_STRING "REG_MULTI_SZ 类型的数据不能包含空字符串。\r\n注册表编辑器将删除找到得空字符串。"
|
||||
IDS_MULTI_SZ_EMPTY_STRING "REG_MULTI_SZ 类型的数据不能包含空字符串。\n注册表编辑器将删除找到得空字符串。"
|
||||
IDS_QUERY_DELETE_KEY_ONE "确实要删除这个键吗?"
|
||||
IDS_QUERY_DELETE_KEY_MORE "确实要删除这些键吗?"
|
||||
IDS_QUERY_DELETE_KEY_CONFIRM "确认删除键"
|
||||
|
@ -390,7 +390,6 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "展开"
|
||||
IDS_COLLAPSE "折叠"
|
||||
IDS_GOTO_SUGGESTED_KEY "转到(&G)'%s'"
|
||||
IDS_FINISHEDFIND "注册表搜索完毕。"
|
||||
END
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Traditional Chinese translation by Henry Tang Ih 2016 (henrytang2@hotmail.com) */
|
||||
/* TRANSLATORS: Copyright 2016 Henry Tang Ih <henrytang2@hotmail.com> */
|
||||
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
|
||||
|
||||
|
@ -36,7 +36,7 @@ BEGIN
|
|||
MENUITEM "載入配置單元...", ID_REGISTRY_LOADHIVE, GRAYED
|
||||
MENUITEM "解除安裝配置單元...", ID_REGISTRY_UNLOADHIVE, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "連線網路註冊表(&C)...", ID_REGISTRY_CONNECTNETWORKREGISTRY
|
||||
MENUITEM "連線網路登錄(&C)...", ID_REGISTRY_CONNECTNETWORKREGISTRY
|
||||
MENUITEM "斷開網路註冊表(&C)...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "列印(&P)...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED
|
||||
|
@ -52,8 +52,8 @@ BEGIN
|
|||
MENUITEM "項(&K)", ID_EDIT_NEW_KEY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "字元串值(&S)", ID_EDIT_NEW_STRINGVALUE
|
||||
MENUITEM "二進位制值(&B)", ID_EDIT_NEW_BINARYVALUE
|
||||
MENUITEM "DWORD ??&D)", ID_EDIT_NEW_DWORDVALUE
|
||||
MENUITEM "二進制值(&B)", ID_EDIT_NEW_BINARYVALUE
|
||||
MENUITEM "DWORD 值(&D)", ID_EDIT_NEW_DWORDVALUE
|
||||
MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE
|
||||
MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
|
||||
END
|
||||
|
@ -106,7 +106,7 @@ BEGIN
|
|||
MENUITEM "項(&K)", ID_EDIT_NEW_KEY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "字元串值(&S)", ID_EDIT_NEW_STRINGVALUE
|
||||
MENUITEM "二進位制值(&B)", ID_EDIT_NEW_BINARYVALUE
|
||||
MENUITEM "二進制值(&B)", ID_EDIT_NEW_BINARYVALUE
|
||||
MENUITEM "DWORD 值(&D)", ID_EDIT_NEW_DWORDVALUE
|
||||
MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE
|
||||
MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
|
||||
|
@ -120,7 +120,7 @@ BEGIN
|
|||
MENUITEM "項(&K)", ID_EDIT_NEW_KEY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "字元串值(&S)", ID_EDIT_NEW_STRINGVALUE
|
||||
MENUITEM "二進位制值(&B)", ID_EDIT_NEW_BINARYVALUE
|
||||
MENUITEM "二進制值(&B)", ID_EDIT_NEW_BINARYVALUE
|
||||
MENUITEM "DWORD 值(&D)", ID_EDIT_NEW_DWORDVALUE
|
||||
MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE
|
||||
MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
|
||||
|
@ -131,7 +131,7 @@ BEGIN
|
|||
MENUITEM "重新命名(&R)", ID_TREE_RENAME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "匯出(&E)", ID_TREE_EXPORT
|
||||
MENUITEM "許可權(&P)...", ID_TREE_PERMISSIONS, GRAYED
|
||||
MENUITEM "許可權(&P)...", ID_TREE_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "複製項名稱(&C)", ID_EDIT_COPYKEYNAME
|
||||
END
|
||||
|
@ -177,7 +177,7 @@ END
|
|||
|
||||
IDD_EDIT_BIN_DATA DIALOGEX 32, 24, 252, 174
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "編輯二進位制數值"
|
||||
CAPTION "編輯二進制數值"
|
||||
FONT 9, "新細明體"
|
||||
BEGIN
|
||||
LTEXT "數值名稱(&N):", IDC_STATIC, 6, 6, 134, 8
|
||||
|
@ -198,8 +198,8 @@ BEGIN
|
|||
LTEXT "數值資料(&V):", IDC_STATIC, 6, 35, 161, 8
|
||||
EDITTEXT IDC_VALUE_DATA, 6, 46, 116, 12, ES_AUTOHSCROLL
|
||||
GROUPBOX "基數", IDC_STATIC, 130, 35, 116, 39
|
||||
AUTORADIOBUTTON "十六進位制(&H)", IDC_FORMAT_HEX, 141, 46, 60, 10, WS_GROUP
|
||||
AUTORADIOBUTTON "十進位制(&D)", IDC_FORMAT_DEC, 141, 59, 60, 10
|
||||
AUTORADIOBUTTON "十六進制(&H)", IDC_FORMAT_HEX, 141, 46, 60, 10, WS_GROUP
|
||||
AUTORADIOBUTTON "十進制(&D)", IDC_FORMAT_DEC, 141, 59, 60, 10
|
||||
DEFPUSHBUTTON "確定", IDOK, 142, 82, 50, 14
|
||||
PUSHBUTTON "取消", IDCANCEL, 196, 82, 50, 14
|
||||
END
|
||||
|
@ -270,9 +270,9 @@ END
|
|||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_REGISTRY_MENU "包含與整個註冊表工作相關的命令。"
|
||||
ID_REGISTRY_MENU "包含與整個登錄工作相關的命令。"
|
||||
ID_EDIT_MENU "包含編輯值或項的命令。"
|
||||
ID_VIEW_MENU "包含自定義註冊表視窗的命令。"
|
||||
ID_VIEW_MENU "包含自訂登錄視窗的命令。"
|
||||
ID_FAVOURITES_MENU "包含訪問常用項時所用的命令。"
|
||||
ID_HELP_MENU "包含顯示幫助以及註冊表編輯器有關資訊的命令。"
|
||||
ID_EDIT_NEW_MENU "包含創建新項或值的命令。"
|
||||
|
@ -285,13 +285,13 @@ BEGIN
|
|||
ID_EDIT_NEW_STRINGVALUE "添加新字元串值。"
|
||||
ID_EDIT_NEW_BINARYVALUE "添加新二進位制值。"
|
||||
ID_EDIT_NEW_DWORDVALUE "添加新 DWORD 值。"
|
||||
ID_REGISTRY_IMPORTREGISTRYFILE "將檔案匯入到註冊表中。"
|
||||
ID_REGISTRY_EXPORTREGISTRYFILE "將註冊表全部或部分匯出到檔案中。"
|
||||
ID_REGISTRY_IMPORTREGISTRYFILE "將檔案匯入到登錄中。"
|
||||
ID_REGISTRY_EXPORTREGISTRYFILE "將登錄全部或部分匯出到檔案中。"
|
||||
ID_REGISTRY_LOADHIVE "載入配置單元到註冊表中。"
|
||||
ID_REGISTRY_UNLOADHIVE "從註冊表中解除安裝配置單元。"
|
||||
ID_REGISTRY_CONNECTNETWORKREGISTRY "連線到遠端計算機的註冊表。"
|
||||
ID_REGISTRY_DISCONNECTNETWORKREGISTRY "斷開與遠端計算機註冊表的連線。"
|
||||
ID_REGISTRY_PRINT "列印所有或部分註冊表。"
|
||||
ID_REGISTRY_CONNECTNETWORKREGISTRY "連線到遠端電腦的登錄。"
|
||||
ID_REGISTRY_DISCONNECTNETWORKREGISTRY "斷開與遠端電腦登錄的連線。"
|
||||
ID_REGISTRY_PRINT "列印所有或部分登錄。"
|
||||
/* ID_HELP_HELPTOPICS "開啟註冊表編輯器幫助。" */
|
||||
ID_HELP_ABOUT "顯示程式資訊、版本號和版權。"
|
||||
END
|
||||
|
@ -319,7 +319,7 @@ BEGIN
|
|||
IDS_BAD_VALUE "不能查詢值 '%s'"
|
||||
IDS_UNSUPPORTED_TYPE "不能編輯這類型的項 (%ld)"
|
||||
IDS_TOO_BIG_VALUE "數值過大 (%ld)"
|
||||
IDS_MULTI_SZ_EMPTY_STRING "REG_MULTI_SZ 類型的資料不能包含空字元串。\r\n註冊表編輯器將刪除找到得空字元串。"
|
||||
IDS_MULTI_SZ_EMPTY_STRING "REG_MULTI_SZ 類型的資料不能包含空字元串。\n註冊表編輯器將刪除找到得空字元串。"
|
||||
IDS_QUERY_DELETE_KEY_ONE "確實要刪除這個項嗎?"
|
||||
IDS_QUERY_DELETE_KEY_MORE "確實要刪除這些項嗎?"
|
||||
IDS_QUERY_DELETE_KEY_CONFIRM "確認項刪除"
|
||||
|
@ -342,7 +342,7 @@ BEGIN
|
|||
IDS_DEFAULT_VALUE_NAME "(默認)"
|
||||
IDS_VALUE_NOT_SET "(數值未設定)"
|
||||
IDS_UNKNOWN_TYPE "未知類型: (0x%lx)"
|
||||
IDS_MY_COMPUTER "我的計算機"
|
||||
IDS_MY_COMPUTER "我的電腦"
|
||||
IDS_IMPORT_REG_FILE "匯入註冊表檔案"
|
||||
IDS_EXPORT_REG_FILE "匯出註冊表檔案"
|
||||
IDS_LOAD_HIVE "載入配置單元"
|
||||
|
@ -355,7 +355,7 @@ BEGIN
|
|||
IDS_FLT_REGFILE "註冊檔案"
|
||||
IDS_FLT_REGFILES "註冊檔案 (*.reg)"
|
||||
IDS_FLT_REGFILES_FLT "*.reg"
|
||||
IDS_FLT_HIVFILES "註冊表配置單元檔案 (*.*)"
|
||||
IDS_FLT_HIVFILES "登錄 Hive 檔案 (*.*)"
|
||||
IDS_FLT_HIVFILES_FLT "*.*"
|
||||
IDS_FLT_REGEDIT4 "Win9x/NT4 註冊檔案 (REGEDIT4) (*.reg)"
|
||||
IDS_FLT_REGEDIT4_FLT "*.reg"
|
||||
|
@ -390,14 +390,13 @@ STRINGTABLE
|
|||
BEGIN
|
||||
IDS_EXPAND "展開"
|
||||
IDS_COLLAPSE "摺疊"
|
||||
IDS_GOTO_SUGGESTED_KEY "轉到(&G)'%s'"
|
||||
IDS_FINISHEDFIND "註冊表搜索完畢。"
|
||||
IDS_FINISHEDFIND "登錄搜索完畢。"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_IMPORT_PROMPT "添加資訊可無意中更改或刪除值並導致元件停止正常工作。\n如果您不信任此 '%s' 中的資訊的來源,並不將其添加到註冊表。\n\n是否確實要繼續?"
|
||||
IDS_IMPORT_OK "'%s' 中包含的值和項已成功添加到註冊表。"
|
||||
IDS_IMPORT_PROMPT "添加資訊可無意中更改或刪除值並導致元件停止正常工作。\n如果您不信任此 '%s' 中的資訊的來源,並不將其添加到登錄。\n\n是否確實要繼續?"
|
||||
IDS_IMPORT_OK "'%s' 中包含的值和項已成功添加到登錄。"
|
||||
IDS_IMPORT_ERROR "無法將 '%s' 匯入: 開啟該檔案時出錯。可能有磁碟或檔案系統錯誤或檔案可能不存在。"
|
||||
IDS_EXPORT_ERROR "無法匯出 '%s' : 創建或寫入檔案時出錯。可能有磁碟或檔案系統錯誤。"
|
||||
END
|
||||
|
@ -453,7 +452,7 @@ BEGIN
|
|||
IDS_BUS_INTERNALPOWERBUS "Internal Power Bus"
|
||||
IDS_BUS_PNPISABUS "PnP-ISA Bus"
|
||||
IDS_BUS_PNPBUS "PnP Bus"
|
||||
IDS_BUS_UNKNOWNTYPE "未知的介面類型"
|
||||
IDS_BUS_UNKNOWNTYPE "不明介面類型"
|
||||
END
|
||||
|
||||
/*****************************************************************/
|
||||
|
@ -533,7 +532,7 @@ FONT 9, "新細明體", 400, 0, 0x1
|
|||
BEGIN
|
||||
ICON IDI_REGEDIT, IDC_STATIC, 7, 7, 20, 20
|
||||
DEFPUSHBUTTON "取消(&C)", IDCANCEL, 93, 29, 45, 14
|
||||
LTEXT "正在搜索註冊表...", IDC_STATIC, 33, 12, 83, 8
|
||||
LTEXT "正在搜索登錄...", IDC_STATIC, 33, 12, 83, 8
|
||||
END
|
||||
|
||||
/* String Table */
|
||||
|
|
|
@ -49,7 +49,7 @@ typedef struct tagSORT_INFO
|
|||
static INT g_iSortedColumn = 0;
|
||||
|
||||
#define MAX_LIST_COLUMNS (IDS_LIST_COLUMN_LAST - IDS_LIST_COLUMN_FIRST + 1)
|
||||
static const int default_column_widths[MAX_LIST_COLUMNS] = { 200, 175, 400 };
|
||||
static const int default_column_widths[MAX_LIST_COLUMNS] = { 35, 25, 40 };
|
||||
static const int column_alignment[MAX_LIST_COLUMNS] = { LVCFMT_LEFT, LVCFMT_LEFT, LVCFMT_LEFT };
|
||||
|
||||
LPCWSTR GetValueName(HWND hwndLV, int iStartAt)
|
||||
|
@ -91,7 +91,7 @@ VOID SetValueName(HWND hwndLV, LPCWSTR pszValueName)
|
|||
{
|
||||
ListView_SetItemState(hwndLV, i, 0, LVIS_FOCUSED | LVIS_SELECTED);
|
||||
}
|
||||
if (pszValueName == NULL)
|
||||
if (pszValueName == NULL || pszValueName[0] == 0)
|
||||
i = 0;
|
||||
else
|
||||
{
|
||||
|
@ -101,6 +101,7 @@ VOID SetValueName(HWND hwndLV, LPCWSTR pszValueName)
|
|||
}
|
||||
ListView_SetItemState(hwndLV, i, LVIS_FOCUSED | LVIS_SELECTED,
|
||||
LVIS_FOCUSED | LVIS_SELECTED);
|
||||
ListView_EnsureVisible(hwndLV, i, FALSE);
|
||||
iListViewSelect = i;
|
||||
}
|
||||
|
||||
|
@ -255,7 +256,7 @@ static void AddEntryToList(HWND hwndLV, LPWSTR Name, DWORD dwValType, void* ValB
|
|||
}
|
||||
}
|
||||
|
||||
static BOOL CreateListColumns(HWND hWndListView)
|
||||
static BOOL CreateListColumns(HWND hWndListView, INT cxTotal)
|
||||
{
|
||||
WCHAR szText[50];
|
||||
int index;
|
||||
|
@ -269,7 +270,7 @@ static BOOL CreateListColumns(HWND hWndListView)
|
|||
for (index = 0; index < MAX_LIST_COLUMNS; index++)
|
||||
{
|
||||
lvC.iSubItem = index;
|
||||
lvC.cx = default_column_widths[index];
|
||||
lvC.cx = (cxTotal * default_column_widths[index]) / 100;
|
||||
lvC.fmt = column_alignment[index];
|
||||
LoadStringW(hInst, IDS_LIST_COLUMN_FIRST + index, szText, COUNT_OF(szText));
|
||||
if (ListView_InsertColumn(hWndListView, index, &lvC) == -1) return FALSE;
|
||||
|
@ -563,7 +564,7 @@ BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
|
|||
}
|
||||
return TRUE;
|
||||
case NM_SETFOCUS:
|
||||
g_pChildWnd->nFocusPanel = 0;
|
||||
g_pChildWnd->nFocusPanel = 1;
|
||||
break;
|
||||
case LVN_BEGINLABELEDIT:
|
||||
Info = (NMLVDISPINFO*)lParam;
|
||||
|
@ -627,7 +628,7 @@ BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
HWND CreateListView(HWND hwndParent, HMENU id)
|
||||
HWND CreateListView(HWND hwndParent, HMENU id, INT cx)
|
||||
{
|
||||
RECT rcClient;
|
||||
HWND hwndLV;
|
||||
|
@ -641,7 +642,7 @@ HWND CreateListView(HWND hwndParent, HMENU id)
|
|||
if (!hwndLV) return NULL;
|
||||
|
||||
/* Initialize the image list, and add items to the control. */
|
||||
if (!CreateListColumns(hwndLV)) goto fail;
|
||||
if (!CreateListColumns(hwndLV, cx)) goto fail;
|
||||
if (!InitListViewImageLists(hwndLV)) goto fail;
|
||||
|
||||
return hwndLV;
|
||||
|
@ -667,7 +668,7 @@ void DestroyListView(HWND hwndLV)
|
|||
|
||||
}
|
||||
|
||||
BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath)
|
||||
BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath, BOOL bSelectNone)
|
||||
{
|
||||
DWORD max_sub_key_len;
|
||||
DWORD max_val_name_len;
|
||||
|
@ -737,6 +738,9 @@ BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath)
|
|||
{
|
||||
ListView_SetItemState(hwndLV, i, 0, LVIS_FOCUSED | LVIS_SELECTED);
|
||||
}
|
||||
|
||||
if (bSelectNone)
|
||||
iListViewSelect = -1;
|
||||
ListView_SetItemState(hwndLV, iListViewSelect,
|
||||
LVIS_FOCUSED | LVIS_SELECTED,
|
||||
LVIS_FOCUSED | LVIS_SELECTED);
|
||||
|
|
|
@ -83,6 +83,7 @@ BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
|
|||
wcChild.hInstance = hInstance;
|
||||
wcChild.hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT));
|
||||
wcChild.hCursor = LoadCursorW(NULL, IDC_ARROW);
|
||||
wcChild.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1);
|
||||
wcChild.lpszClassName = szChildClass;
|
||||
wcChild.hIconSm = (HICON)LoadImageW(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT),
|
||||
IMAGE_ICON, GetSystemMetrics(SM_CXSMICON),
|
||||
|
@ -183,7 +184,7 @@ BOOL TranslateChildTabMessage(PMSG msg)
|
|||
|
||||
if (msg->wParam != VK_TAB) return FALSE;
|
||||
if (GetParent(msg->hwnd) != g_pChildWnd->hWnd) return FALSE;
|
||||
PostMessageW(g_pChildWnd->hWnd, WM_COMMAND, ID_SWITCH_PANELS, 0);
|
||||
PostMessageW(hFrameWnd, WM_COMMAND, ID_SWITCH_PANELS, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -39,8 +39,6 @@
|
|||
|
||||
#define MAX_NEW_KEY_LEN 128
|
||||
|
||||
extern HINSTANCE hInst;
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
enum OPTION_FLAGS
|
||||
|
@ -86,66 +84,69 @@ extern WCHAR szChildClass[];
|
|||
extern const WCHAR g_szGeneralRegKey[];
|
||||
|
||||
/* about.c */
|
||||
extern void ShowAboutBox(HWND hWnd);
|
||||
void ShowAboutBox(HWND hWnd);
|
||||
|
||||
/* childwnd.c */
|
||||
extern LRESULT CALLBACK ChildWndProc(HWND, UINT, WPARAM, LPARAM);
|
||||
extern void ResizeWnd(int cx, int cy);
|
||||
extern LPCWSTR get_root_key_name(HKEY hRootKey);
|
||||
LRESULT CALLBACK ChildWndProc(HWND, UINT, WPARAM, LPARAM);
|
||||
void ResizeWnd(int cx, int cy);
|
||||
LPCWSTR get_root_key_name(HKEY hRootKey);
|
||||
VOID UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath, BOOL bSelectNone);
|
||||
|
||||
/* edit.c */
|
||||
BOOL ModifyValue(HWND hwnd, HKEY hKey, LPCWSTR valueName, BOOL EditBin);
|
||||
BOOL DeleteKey(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath);
|
||||
LONG RenameKey(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpNewName);
|
||||
LONG RenameValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpDestValue, LPCWSTR lpSrcValue);
|
||||
LONG QueryStringValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName, LPWSTR pszBuffer, DWORD dwBufferLen);
|
||||
BOOL GetKeyName(LPWSTR pszDest, size_t iDestLength, HKEY hRootKey, LPCWSTR lpSubKey);
|
||||
|
||||
/* error.c */
|
||||
extern int ErrorMessageBox(HWND hWnd, LPCWSTR lpTitle, DWORD dwErrorCode, ...);
|
||||
extern int InfoMessageBox(HWND hWnd, UINT uType, LPCWSTR lpTitle, LPCWSTR lpMessage, ...);
|
||||
int ErrorMessageBox(HWND hWnd, LPCWSTR lpTitle, DWORD dwErrorCode, ...);
|
||||
int InfoMessageBox(HWND hWnd, UINT uType, LPCWSTR lpTitle, LPCWSTR lpMessage, ...);
|
||||
|
||||
/* find.c */
|
||||
extern void FindDialog(HWND hWnd);
|
||||
extern BOOL FindNext(HWND hWnd);
|
||||
void FindDialog(HWND hWnd);
|
||||
BOOL FindNext(HWND hWnd);
|
||||
void FindNextMessageBox(HWND hWnd);
|
||||
|
||||
/* framewnd.c */
|
||||
extern LRESULT CALLBACK FrameWndProc(HWND, UINT, WPARAM, LPARAM);
|
||||
extern void SetupStatusBar(HWND hWnd, BOOL bResize);
|
||||
extern void UpdateStatusBar(void);
|
||||
extern BOOL CopyKeyName(HWND hWnd, HKEY hRootKey, LPCWSTR keyName);
|
||||
extern BOOL ExportRegistryFile(HWND hWnd);
|
||||
LRESULT CALLBACK FrameWndProc(HWND, UINT, WPARAM, LPARAM);
|
||||
void SetupStatusBar(HWND hWnd, BOOL bResize);
|
||||
void UpdateStatusBar(void);
|
||||
BOOL CopyKeyName(HWND hWnd, HKEY hRootKey, LPCWSTR keyName);
|
||||
BOOL ExportRegistryFile(HWND hWnd);
|
||||
|
||||
/* listview.c */
|
||||
extern HWND CreateListView(HWND hwndParent, HMENU id);
|
||||
extern BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath);
|
||||
extern LPCWSTR GetValueName(HWND hwndLV, int iStartAt);
|
||||
extern BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result);
|
||||
extern BOOL IsDefaultValue(HWND hwndLV, int i);
|
||||
HWND CreateListView(HWND hwndParent, HMENU id, INT cx);
|
||||
BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath, BOOL bSelectNone);
|
||||
LPCWSTR GetValueName(HWND hwndLV, int iStartAt);
|
||||
BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result);
|
||||
BOOL TreeWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result);
|
||||
BOOL IsDefaultValue(HWND hwndLV, int i);
|
||||
|
||||
/* regedit.c */
|
||||
LPCWSTR getAppName(void);
|
||||
|
||||
/* treeview.c */
|
||||
extern HWND CreateTreeView(HWND hwndParent, LPWSTR pHostName, HMENU id);
|
||||
extern BOOL RefreshTreeView(HWND hWndTV);
|
||||
extern BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem);
|
||||
extern BOOL OnTreeExpanding(HWND hWnd, NMTREEVIEW* pnmtv);
|
||||
extern LPCWSTR GetItemPath(HWND hwndTV, HTREEITEM hItem, HKEY* phRootKey);
|
||||
extern BOOL DeleteNode(HWND hwndTV, HTREEITEM hItem);
|
||||
extern HTREEITEM InsertNode(HWND hwndTV, HTREEITEM hItem, LPWSTR name);
|
||||
extern HWND StartKeyRename(HWND hwndTV);
|
||||
extern BOOL CreateNewKey(HWND hwndTV, HTREEITEM hItem);
|
||||
extern BOOL SelectNode(HWND hwndTV, LPCWSTR keyPath);
|
||||
extern void DestroyTreeView(HWND hwndTV);
|
||||
extern void DestroyListView(HWND hwndLV);
|
||||
extern void DestroyMainMenu(void);
|
||||
|
||||
/* edit.c */
|
||||
extern BOOL ModifyValue(HWND hwnd, HKEY hKey, LPCWSTR valueName, BOOL EditBin);
|
||||
extern BOOL DeleteKey(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath);
|
||||
extern LONG RenameKey(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpNewName);
|
||||
extern LONG RenameValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpDestValue, LPCWSTR lpSrcValue);
|
||||
extern LONG QueryStringValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName, LPWSTR pszBuffer, DWORD dwBufferLen);
|
||||
extern BOOL GetKeyName(LPWSTR pszDest, size_t iDestLength, HKEY hRootKey, LPCWSTR lpSubKey);
|
||||
|
||||
/* security.c */
|
||||
extern BOOL RegKeyEditPermissions(HWND hWndOwner, HKEY hKey, LPCWSTR lpMachine, LPCWSTR lpKeyName);
|
||||
BOOL RegKeyEditPermissions(HWND hWndOwner, HKEY hKey, LPCWSTR lpMachine, LPCWSTR lpKeyName);
|
||||
|
||||
/* settings.c */
|
||||
extern void LoadSettings(void);
|
||||
extern void SaveSettings(void);
|
||||
void LoadSettings(void);
|
||||
void SaveSettings(void);
|
||||
|
||||
/* treeview.c */
|
||||
HWND CreateTreeView(HWND hwndParent, LPWSTR pHostName, HMENU id);
|
||||
BOOL RefreshTreeView(HWND hWndTV);
|
||||
BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem);
|
||||
BOOL OnTreeExpanding(HWND hWnd, NMTREEVIEW* pnmtv);
|
||||
LPCWSTR GetItemPath(HWND hwndTV, HTREEITEM hItem, HKEY* phRootKey);
|
||||
BOOL DeleteNode(HWND hwndTV, HTREEITEM hItem);
|
||||
HTREEITEM InsertNode(HWND hwndTV, HTREEITEM hItem, LPWSTR name);
|
||||
HWND StartKeyRename(HWND hwndTV);
|
||||
BOOL CreateNewKey(HWND hwndTV, HTREEITEM hItem);
|
||||
BOOL SelectNode(HWND hwndTV, LPCWSTR keyPath);
|
||||
void DestroyTreeView(HWND hwndTV);
|
||||
void DestroyListView(HWND hwndLV);
|
||||
void DestroyMainMenu(void);
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include <shlwapi.h>
|
||||
#include <stdio.h>
|
||||
#include <aclapi.h>
|
||||
#include <strsafe.h>
|
||||
|
||||
#include "main.h"
|
||||
#include "regproc.h"
|
||||
|
|
|
@ -33,9 +33,6 @@
|
|||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
IDI_OPEN_FILE ICON "res/folderopen.ico"
|
||||
IDI_CLOSED_FILE ICON "res/folder.ico"
|
||||
IDI_ROOT ICON "res/computer.ico"
|
||||
IDI_STRING ICON "res/string.ico"
|
||||
IDI_BIN ICON "res/bin.ico"
|
||||
IDI_REGEDIT ICON "res/regedit.ico"
|
||||
|
|
|
@ -1392,7 +1392,7 @@ BOOL export_registry_key(WCHAR *file_name, WCHAR *reg_key_name, DWORD format)
|
|||
if (file) {
|
||||
fclose(file);
|
||||
}
|
||||
HeapFree(GetProcessHeap(), 0, reg_key_name);
|
||||
HeapFree(GetProcessHeap(), 0, reg_key_name_buf);
|
||||
HeapFree(GetProcessHeap(), 0, val_name_buf);
|
||||
HeapFree(GetProcessHeap(), 0, val_buf);
|
||||
HeapFree(GetProcessHeap(), 0, line_buf);
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 2.5 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.8 KiB |
|
@ -39,9 +39,6 @@
|
|||
#define IDC_REGEDIT_FRAME 110
|
||||
#define IDR_REGEDIT_MENU 130
|
||||
#define IDD_EXPORTRANGE 131
|
||||
#define IDI_OPEN_FILE 132
|
||||
#define IDI_CLOSED_FILE 133
|
||||
#define IDI_ROOT 134
|
||||
#define IDI_STRING 135
|
||||
#define IDI_BIN 136
|
||||
#define IDR_POPUP_MENUS 137
|
||||
|
@ -155,8 +152,6 @@
|
|||
#define IDS_QUERY_DELETE_KEY_ONE 32875
|
||||
#define IDS_QUERY_DELETE_KEY_MORE 32876
|
||||
#define IDS_QUERY_DELETE_KEY_CONFIRM 32877
|
||||
#define ID_TREE_SUGGESTION_MIN 32878
|
||||
#define ID_TREE_SUGGESTION_MAX 32887
|
||||
#define ID_TREE_EXPORT 32888
|
||||
#define ID_TREE_PERMISSIONS 32889
|
||||
|
||||
|
@ -190,7 +185,6 @@
|
|||
#define IDS_COLLAPSE 31204
|
||||
#define IDS_NEW_KEY 31205
|
||||
#define IDS_NEW_VALUE 31206
|
||||
#define IDS_GOTO_SUGGESTED_KEY 31207
|
||||
|
||||
#define IDS_IMPORT_PROMPT 31300
|
||||
#define IDS_IMPORT_OK 31301
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
*/
|
||||
|
||||
#include "regedit.h"
|
||||
#include <strsafe.h>
|
||||
|
||||
const WCHAR g_szGeneralRegKey[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Regedit";
|
||||
DECLSPEC_IMPORT ULONG WINAPIV DbgPrint(PCH Format,...);
|
||||
|
|
|
@ -32,6 +32,10 @@ static LPWSTR pathBuffer;
|
|||
|
||||
#define NUM_ICONS 3
|
||||
|
||||
#define IDI_SHELL_FOLDER 4
|
||||
#define IDI_SHELL_FOLDER_OPEN 5
|
||||
#define IDI_SHELL_MY_COMPUTER 16
|
||||
|
||||
static BOOL get_item_path(HWND hwndTV, HTREEITEM hItem, HKEY* phKey, LPWSTR* pKeyPath, int* pPathLen, int* pMaxLen)
|
||||
{
|
||||
TVITEMW item;
|
||||
|
@ -439,23 +443,20 @@ static BOOL InitTreeViewImageLists(HWND hwndTV)
|
|||
{
|
||||
HIMAGELIST himl; /* handle to image list */
|
||||
HICON hico; /* handle to icon */
|
||||
INT cx = GetSystemMetrics(SM_CXSMICON);
|
||||
INT cy = GetSystemMetrics(SM_CYSMICON);
|
||||
HMODULE hShell32 = GetModuleHandleW(L"shell32.dll");
|
||||
|
||||
/* Create the image list. */
|
||||
if ((himl = ImageList_Create(GetSystemMetrics(SM_CXSMICON),
|
||||
GetSystemMetrics(SM_CYSMICON),
|
||||
ILC_MASK | ILC_COLOR32,
|
||||
0,
|
||||
NUM_ICONS)) == NULL)
|
||||
{
|
||||
if ((himl = ImageList_Create(cx, cy, ILC_MASK | ILC_COLOR32, 0, NUM_ICONS)) == NULL)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Add the open file, closed file, and document bitmaps. */
|
||||
hico = LoadImageW(hInst,
|
||||
MAKEINTRESOURCEW(IDI_OPEN_FILE),
|
||||
hico = LoadImageW(hShell32,
|
||||
MAKEINTRESOURCEW(IDI_SHELL_FOLDER_OPEN),
|
||||
IMAGE_ICON,
|
||||
GetSystemMetrics(SM_CXSMICON),
|
||||
GetSystemMetrics(SM_CYSMICON),
|
||||
cx,
|
||||
cy,
|
||||
0);
|
||||
if (hico)
|
||||
{
|
||||
|
@ -463,11 +464,11 @@ static BOOL InitTreeViewImageLists(HWND hwndTV)
|
|||
DestroyIcon(hico);
|
||||
}
|
||||
|
||||
hico = LoadImageW(hInst,
|
||||
MAKEINTRESOURCEW(IDI_CLOSED_FILE),
|
||||
hico = LoadImageW(hShell32,
|
||||
MAKEINTRESOURCEW(IDI_SHELL_FOLDER),
|
||||
IMAGE_ICON,
|
||||
GetSystemMetrics(SM_CXSMICON),
|
||||
GetSystemMetrics(SM_CYSMICON),
|
||||
cx,
|
||||
cy,
|
||||
0);
|
||||
if (hico)
|
||||
{
|
||||
|
@ -475,11 +476,11 @@ static BOOL InitTreeViewImageLists(HWND hwndTV)
|
|||
DestroyIcon(hico);
|
||||
}
|
||||
|
||||
hico = LoadImageW(hInst,
|
||||
MAKEINTRESOURCEW(IDI_ROOT),
|
||||
hico = LoadImageW(hShell32,
|
||||
MAKEINTRESOURCEW(IDI_SHELL_MY_COMPUTER),
|
||||
IMAGE_ICON,
|
||||
GetSystemMetrics(SM_CXSMICON),
|
||||
GetSystemMetrics(SM_CYSMICON),
|
||||
cx,
|
||||
cy,
|
||||
0);
|
||||
if (hico)
|
||||
{
|
||||
|
@ -625,6 +626,98 @@ done:
|
|||
return bSuccess;
|
||||
}
|
||||
|
||||
BOOL TreeWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(wParam);
|
||||
*Result = TRUE;
|
||||
|
||||
switch (((LPNMHDR)lParam)->code)
|
||||
{
|
||||
case TVN_ITEMEXPANDING:
|
||||
*Result = !OnTreeExpanding(g_pChildWnd->hTreeWnd, (NMTREEVIEW*)lParam);
|
||||
return TRUE;
|
||||
case TVN_SELCHANGED:
|
||||
{
|
||||
NMTREEVIEW* pnmtv = (NMTREEVIEW*)lParam;
|
||||
HTREEITEM hParentItem = TreeView_GetParent(g_pChildWnd->hTreeWnd, pnmtv->itemNew.hItem);
|
||||
UpdateAddress(pnmtv->itemNew.hItem, NULL, NULL, TRUE);
|
||||
EnableMenuItem(hMenuFrame, ID_EDIT_PERMISSIONS, MF_BYCOMMAND | (hParentItem ? MF_ENABLED : MF_GRAYED));
|
||||
if (!hParentItem || !TreeView_GetParent(g_pChildWnd->hTreeWnd, hParentItem))
|
||||
{
|
||||
EnableMenuItem(hMenuFrame , ID_EDIT_DELETE, MF_BYCOMMAND | MF_GRAYED);
|
||||
EnableMenuItem(hMenuFrame , ID_EDIT_RENAME, MF_BYCOMMAND | MF_GRAYED);
|
||||
EnableMenuItem(hPopupMenus, ID_TREE_DELETE, MF_BYCOMMAND | MF_GRAYED);
|
||||
EnableMenuItem(hPopupMenus, ID_TREE_RENAME, MF_BYCOMMAND | MF_GRAYED);
|
||||
}
|
||||
else
|
||||
{
|
||||
EnableMenuItem(hMenuFrame , ID_EDIT_DELETE, MF_BYCOMMAND | MF_ENABLED);
|
||||
EnableMenuItem(hMenuFrame , ID_EDIT_RENAME, MF_BYCOMMAND | MF_ENABLED);
|
||||
EnableMenuItem(hPopupMenus, ID_TREE_DELETE, MF_BYCOMMAND | MF_ENABLED);
|
||||
EnableMenuItem(hPopupMenus, ID_TREE_RENAME, MF_BYCOMMAND | MF_ENABLED);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
case NM_SETFOCUS:
|
||||
g_pChildWnd->nFocusPanel = 0;
|
||||
break;
|
||||
case TVN_BEGINLABELEDIT:
|
||||
{
|
||||
LPNMTVDISPINFO ptvdi = (LPNMTVDISPINFO)lParam;
|
||||
if (!TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem) ||
|
||||
!TreeView_GetParent(g_pChildWnd->hTreeWnd, TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem)))
|
||||
{
|
||||
*Result = TRUE;
|
||||
}
|
||||
else
|
||||
*Result = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
case TVN_ENDLABELEDIT:
|
||||
{
|
||||
LPCWSTR keyPath;
|
||||
HKEY hRootKey;
|
||||
HKEY hKey = NULL;
|
||||
LPNMTVDISPINFO ptvdi = (LPNMTVDISPINFO)lParam;
|
||||
LONG nRenResult;
|
||||
LONG lResult = TRUE;
|
||||
WCHAR szBuffer[MAX_PATH];
|
||||
WCHAR Caption[128];
|
||||
|
||||
if (ptvdi->item.pszText)
|
||||
{
|
||||
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem), &hRootKey);
|
||||
if (wcslen(keyPath))
|
||||
_snwprintf(szBuffer, COUNT_OF(szBuffer), L"%s\\%s", keyPath, ptvdi->item.pszText);
|
||||
else
|
||||
_snwprintf(szBuffer, COUNT_OF(szBuffer), L"%s", ptvdi->item.pszText);
|
||||
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, ptvdi->item.hItem, &hRootKey);
|
||||
if (RegOpenKeyExW(hRootKey, szBuffer, 0, KEY_READ, &hKey) == ERROR_SUCCESS)
|
||||
{
|
||||
lResult = FALSE;
|
||||
RegCloseKey(hKey);
|
||||
TreeView_EditLabel(g_pChildWnd->hTreeWnd, ptvdi->item.hItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
nRenResult = RenameKey(hRootKey, keyPath, ptvdi->item.pszText);
|
||||
if (nRenResult != ERROR_SUCCESS)
|
||||
{
|
||||
LoadStringW(hInst, IDS_ERROR, Caption, COUNT_OF(Caption));
|
||||
ErrorMessageBox(hWnd, Caption, nRenResult);
|
||||
lResult = FALSE;
|
||||
}
|
||||
else
|
||||
UpdateAddress(ptvdi->item.hItem, hRootKey, szBuffer, FALSE);
|
||||
}
|
||||
*Result = lResult;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* CreateTreeView - creates a tree view control.
|
||||
|
@ -687,8 +780,13 @@ BOOL SelectNode(HWND hwndTV, LPCWSTR keyPath)
|
|||
|
||||
while(keyPath[0])
|
||||
{
|
||||
size_t copyLength;
|
||||
s = wcschr(keyPath, L'\\');
|
||||
lstrcpynW(szPathPart, keyPath, s ? s - keyPath + 1 : wcslen(keyPath) + 1);
|
||||
if (s != NULL)
|
||||
copyLength = (s - keyPath) * sizeof(WCHAR);
|
||||
else
|
||||
copyLength = sizeof(szPathPart);
|
||||
StringCbCopyNW(szPathPart, sizeof(szPathPart), keyPath, copyLength);
|
||||
|
||||
/* Special case for root to expand root key abbreviations */
|
||||
if (hItem == hRoot)
|
||||
|
|
Loading…
Reference in a new issue