[0.4.9][REGEDIT] Port back several improvements and crash-fixes

0.4.15-dev-5985-g 31fdaca8c0 [REGEDIT] Strip redundant include, minor formatting (#5264)
0.4.15-dev-5970-g 9d7d3314b3 [REGEDIT] Check whether pszSelectKey is NULL on CDN_FILEOK (#5255)
0.4.15-dev-5898-g 84e580b67e [REGEDIT] Fix ListView selection and finding (#5150)
(superseded) 0.4.15-dev-5802-g cce3eb9393 Fix buffer read past end problem. (#5146) CORE-15896 and CORE-18230
partially 0.4.15-dev-5753-g 1ee9ea4518 [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-g 5daf5cd057 [REGEDIT] Use shell icons for the tree view (#4841) CORE-10764
0.4.15-dev-4850-g 568383c9b9 [REGEDIT] Fix issue at Find registry key (#4341)
partially 0.4.15-dev-2265-g bebdfda8b7 [REGEDIT]... Use newer file open dialog (#3571)
0.4.15-dev-1470-g 9de8787187 [REGEDIT] Display search finished messagebox when using Find Next (F3) menu item (#3371) CORE-17368
0.4.15-dev-1302-g 6aae5f4fdd [REGEDIT] Make "finished find" messagebox owned by Regedit window (#3369) CORE-17367
0.4.15-dev-169-g 0461de33c5 [REGEDIT] Fix HeapFree() on the wrong variable (#2736)
0.4.14-dev-1484-g c832112771 [REGEDIT] Fix tree view popup menu issues CORE-16887
0.4.14-dev-1468-g 763de230b2 [REGEDIT] Fix inconsistent menu state for 'Permissions' CORE-16889
a more efficient solution than 0.4.14-dev-1467-g b280615b85 [REGEDIT] Crash on selecting 'New' on root item 'My computer' CORE-16888
0.4.14-dev-1466-g 13dd917589 [REGEDIT] CORE-16892 fr-FR Translation update
0.4.13-dev-464-g 6b95727282 [REGEDIT] Adjust ListView column widths (#1663) CORE-15187
0.4.12-dev-47-g 63a0ac0461 [REGEDIT] Set background brush to child window (#1122) CORE-15442
0.4.11-dev-481-g efbebf983c [REGEDIT] Improve the layout of controls (#967) CORE-15187
0.4.11-dev-480-g e4c2cff6c8 [REGEDIT] Don't paint background in WM_PAINT (#970) CORE-15187
0.4.11-dev-458-g 125db5ead9 [REGEDIT] Trivial resizing code fix (#950)
0.4.11-dev-457-g b3231e0bf5 [REGEDIT] Code formatting (#949)
0.4.10-dev-244-g b9415740a1 [REGEDIT] Fix importing very big *.reg files (HEX values commonly) (#618)

a few fragments only of 0.4.15-dev-5304-g 36a7f0dc7c [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:
Joachim Henze 2023-05-01 19:58:37 +02:00
parent ae60c1652b
commit 0ec50cf085
49 changed files with 530 additions and 716 deletions

View file

@ -26,7 +26,7 @@ void ShowAboutBox(HWND hWnd)
{ {
WCHAR AppStr[255]; WCHAR AppStr[255];
LoadStringW(hInst, IDS_APP_TITLE, AppStr, COUNT_OF(AppStr)); 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 */ /* EOF */

View file

@ -24,7 +24,6 @@ ChildWnd* g_pChildWnd;
static int last_split; static int last_split;
HBITMAP SizingPattern = 0; HBITMAP SizingPattern = 0;
HBRUSH SizingBrush = 0; HBRUSH SizingBrush = 0;
static WCHAR Suggestions[256];
extern LPCWSTR get_root_key_name(HKEY hRootKey) extern LPCWSTR get_root_key_name(HKEY hRootKey)
{ {
@ -42,7 +41,10 @@ extern void ResizeWnd(int cx, int cy)
{ {
HDWP hdwp = BeginDeferWindowPos(4); HDWP hdwp = BeginDeferWindowPos(4);
RECT rt, rs, rb; RECT rt, rs, rb;
const int tHeight = 22; const int nButtonWidth = 44;
const int nButtonHeight = 22;
int cyEdge = GetSystemMetrics(SM_CYEDGE);
const UINT uFlags = SWP_NOZORDER | SWP_NOACTIVATE;
SetRect(&rt, 0, 0, cx, cy); SetRect(&rt, 0, 0, cx, cy);
cy = 0; cy = 0;
if (hStatusBar != NULL) if (hStatusBar != NULL)
@ -51,12 +53,33 @@ extern void ResizeWnd(int cx, int cy)
cy = rs.bottom - rs.top; cy = rs.bottom - rs.top;
} }
GetWindowRect(g_pChildWnd->hAddressBtnWnd, &rb); GetWindowRect(g_pChildWnd->hAddressBtnWnd, &rb);
cx = g_pChildWnd->nSplitPos + SPLIT_WIDTH/2; cx = g_pChildWnd->nSplitPos + SPLIT_WIDTH / 2;
if (hdwp) hdwp = DeferWindowPos(hdwp, g_pChildWnd->hAddressBarWnd, 0, rt.left, rt.top, rt.right-rt.left - 2*tHeight, tHeight, SWP_NOZORDER|SWP_NOACTIVATE); if (hdwp)
if (hdwp) hdwp = DeferWindowPos(hdwp, g_pChildWnd->hAddressBtnWnd, 0, rt.right - 2*tHeight, rt.top, 2*tHeight, tHeight, SWP_NOZORDER|SWP_NOACTIVATE); hdwp = DeferWindowPos(hdwp, g_pChildWnd->hAddressBarWnd, NULL,
if (hdwp) hdwp = DeferWindowPos(hdwp, g_pChildWnd->hTreeWnd, 0, rt.left, rt.top + tHeight+2, g_pChildWnd->nSplitPos-SPLIT_WIDTH/2-rt.left, rt.bottom-rt.top-cy, SWP_NOZORDER|SWP_NOACTIVATE); rt.left, rt.top,
if (hdwp) hdwp = DeferWindowPos(hdwp, g_pChildWnd->hListWnd, 0, rt.left+cx, rt.top + tHeight+2, rt.right-cx, rt.bottom-rt.top-cy, SWP_NOZORDER|SWP_NOACTIVATE); rt.right - rt.left - nButtonWidth, nButtonHeight,
if (hdwp) EndDeferWindowPos(hdwp); uFlags);
if (hdwp)
hdwp = DeferWindowPos(hdwp, g_pChildWnd->hAddressBtnWnd, NULL,
rt.right - nButtonWidth, rt.top,
nButtonWidth, nButtonHeight,
uFlags);
if (hdwp)
hdwp = DeferWindowPos(hdwp, g_pChildWnd->hTreeWnd, NULL,
rt.left,
rt.top + nButtonHeight + cyEdge,
g_pChildWnd->nSplitPos - SPLIT_WIDTH/2 - rt.left,
rt.bottom - rt.top - cy - 2 * cyEdge,
uFlags);
if (hdwp)
hdwp = DeferWindowPos(hdwp, g_pChildWnd->hListWnd, NULL,
rt.left + cx,
rt.top + nButtonHeight + cyEdge,
rt.right - cx,
rt.bottom - rt.top - cy - 2 * cyEdge,
uFlags);
if (hdwp)
EndDeferWindowPos(hdwp);
} }
/******************************************************************************* /*******************************************************************************
@ -87,17 +110,6 @@ static void draw_splitbar(HWND hWnd, int x)
ReleaseDC(hWnd, hdc); ReleaseDC(hWnd, hdc);
} }
static void OnPaint(HWND hWnd)
{
PAINTSTRUCT ps;
RECT rt;
GetClientRect(hWnd, &rt);
BeginPaint(hWnd, &ps);
FillRect(ps.hdc, &rt, GetSysColorBrush(COLOR_BTNFACE));
EndPaint(hWnd, &ps);
}
/******************************************************************************* /*******************************************************************************
* finish_splitbar [internal] * finish_splitbar [internal]
* *
@ -116,172 +128,6 @@ static void finish_splitbar(HWND hWnd, int x)
ReleaseCapture(); 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:
(void)TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_EXPAND);
break;
case ID_TREE_COLLAPSEBRANCH:
(void)TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_COLLAPSE);
break;
case ID_TREE_RENAME:
SetFocus(g_pChildWnd->hTreeWnd);
(void)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) LRESULT CALLBACK AddressBarProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {
WNDPROC oldwndproc; WNDPROC oldwndproc;
@ -303,16 +149,17 @@ LRESULT CALLBACK AddressBarProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPar
return CallWindowProcW(oldwndproc, hwnd, uMsg, wParam, lParam); return CallWindowProcW(oldwndproc, hwnd, uMsg, wParam, lParam);
} }
static VOID VOID
UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath) UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath, BOOL bSelectNone)
{ {
LPCWSTR keyPath, rootName; LPCWSTR keyPath, rootName;
LPWSTR fullPath; LPWSTR fullPath;
DWORD cbFullPath;
/* Wipe the listview, the status bar and the address bar if the root key was selected */ /* Wipe the listview, the status bar and the address bar if the root key was selected */
if (TreeView_GetParent(g_pChildWnd->hTreeWnd, hItem) == NULL) if (TreeView_GetParent(g_pChildWnd->hTreeWnd, hItem) == NULL)
{ {
(void)ListView_DeleteAllItems(g_pChildWnd->hListWnd); ListView_DeleteAllItems(g_pChildWnd->hListWnd);
SendMessageW(hStatusBar, SB_SETTEXTW, 0, (LPARAM)NULL); SendMessageW(hStatusBar, SB_SETTEXTW, 0, (LPARAM)NULL);
SendMessageW(g_pChildWnd->hAddressBarWnd, WM_SETTEXT, 0, (LPARAM)NULL); SendMessageW(g_pChildWnd->hAddressBarWnd, WM_SETTEXT, 0, (LPARAM)NULL);
return; return;
@ -325,35 +172,36 @@ UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath)
if (keyPath) if (keyPath)
{ {
RefreshListView(g_pChildWnd->hListWnd, hRootKey, keyPath); RefreshListView(g_pChildWnd->hListWnd, hRootKey, keyPath, bSelectNone);
rootName = get_root_key_name(hRootKey); 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) if (fullPath)
{ {
/* set (correct) the address bar text */ /* set (correct) the address bar text */
if (keyPath[0] != L'\0') 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 else
fullPath = wcscpy(fullPath, rootName); fullPath = wcscpy(fullPath, rootName);
SendMessageW(hStatusBar, SB_SETTEXTW, 0, (LPARAM)fullPath); SendMessageW(hStatusBar, SB_SETTEXTW, 0, (LPARAM)fullPath);
SendMessageW(g_pChildWnd->hAddressBarWnd, WM_SETTEXT, 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) */ /* disable hive manipulation items temporarily (enable only if necessary) */
EnableMenuItem(GetSubMenu(hMenuFrame,0), ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_GRAYED); EnableMenuItem(hMenuFrame, ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(GetSubMenu(hMenuFrame,0), ID_REGISTRY_UNLOADHIVE, 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 */ /* compare the strings to see if we should enable/disable the "Load Hive" menus accordingly */
if (!(_wcsicmp(rootName, L"HKEY_LOCAL_MACHINE") && if (_wcsicmp(rootName, L"HKEY_LOCAL_MACHINE") != 0 ||
_wcsicmp(rootName, L"HKEY_USERS"))) _wcsicmp(rootName, L"HKEY_USERS") != 0)
{ {
/* /*
* enable the unload menu item if at the root, otherwise * enable the unload menu item if at the root, otherwise
* enable the load menu item if there is no slash in * enable the load menu item if there is no slash in
* keyPath (ie. immediate child selected) * keyPath (ie. immediate child selected)
*/ */
if(keyPath[0] == L'\0') if (keyPath[0] == UNICODE_NULL)
EnableMenuItem(GetSubMenu(hMenuFrame,0), ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_ENABLED); EnableMenuItem(hMenuFrame, ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_ENABLED);
else if(!wcschr(keyPath, L'\\')) 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);
} }
} }
} }
@ -366,13 +214,13 @@ UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath)
* PURPOSE: Processes messages for the child windows. * PURPOSE: Processes messages for the child windows.
* *
* WM_COMMAND - process the application menu * WM_COMMAND - process the application menu
* WM_PAINT - Paint the main window
* WM_DESTROY - post a quit message and return * WM_DESTROY - post a quit message and return
* *
*/ */
LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{ {
BOOL Result; BOOL Result;
RECT rc;
switch (message) switch (message)
{ {
@ -389,7 +237,7 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
if (!g_pChildWnd) return 0; if (!g_pChildWnd) return 0;
wcsncpy(g_pChildWnd->szPath, buffer, MAX_PATH); wcsncpy(g_pChildWnd->szPath, buffer, MAX_PATH);
g_pChildWnd->nSplitPos = 250; g_pChildWnd->nSplitPos = 190;
g_pChildWnd->hWnd = hWnd; g_pChildWnd->hWnd = hWnd;
g_pChildWnd->hAddressBarWnd = CreateWindowExW(WS_EX_CLIENTEDGE, L"Edit", NULL, WS_CHILD | WS_VISIBLE | WS_CHILDWINDOW | WS_TABSTOP, 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, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
@ -397,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, 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, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
hWnd, (HMENU)0, hInst, 0); hWnd, (HMENU)0, hInst, 0);
GetClientRect(hWnd, &rc);
g_pChildWnd->hTreeWnd = CreateTreeView(hWnd, g_pChildWnd->szPath, (HMENU) TREE_WINDOW); 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); SetFocus(g_pChildWnd->hTreeWnd);
/* set the address bar and button font */ /* set the address bar and button font */
@ -425,15 +274,7 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
{ {
PostMessageW(g_pChildWnd->hAddressBarWnd, WM_KEYUP, VK_RETURN, 0); PostMessageW(g_pChildWnd->hAddressBarWnd, WM_KEYUP, VK_RETURN, 0);
} }
if (!ChildWnd_CmdWndProc(hWnd, message, wParam, lParam))
{
goto def;
}
break; break;
case WM_PAINT:
OnPaint(hWnd);
return 0;
case WM_SETCURSOR: case WM_SETCURSOR:
if (LOWORD(lParam) == HTCLIENT) if (LOWORD(lParam) == HTCLIENT)
{ {
@ -543,107 +384,26 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
break; break;
case WM_NOTIFY: case WM_NOTIFY:
if ((int)wParam == TREE_WINDOW && g_pChildWnd != NULL) if (g_pChildWnd == NULL) break;
if (((LPNMHDR)lParam)->idFrom == TREE_WINDOW)
{ {
switch (((LPNMHDR)lParam)->code) if (!TreeWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
{ goto def;
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);
UpdateAddress(pnmtv->itemNew.hItem, NULL, NULL); return Result;
/*
* 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);
(void)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 else
{ {
if ((int)wParam == LIST_WINDOW && g_pChildWnd != NULL) if (((LPNMHDR)lParam)->idFrom == LIST_WINDOW)
{ {
switch (((LPNMHDR)lParam)->code) if (!ListWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
{ goto def;
case NM_SETFOCUS:
g_pChildWnd->nFocusPanel = 1; return Result;
break;
default:
if(!ListWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
{
goto def;
}
return Result;
break;
}
} }
else
goto def;
} }
break; break;
@ -697,13 +457,8 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
HMENU hContextMenu; HMENU hContextMenu;
TVITEMW item; TVITEMW item;
MENUITEMINFOW mii; MENUITEMINFOW mii;
WCHAR resource[256];
WCHAR buffer[256]; WCHAR buffer[256];
LPWSTR s; BOOL isRoot;
LPCWSTR keyPath;
HKEY hRootKey;
int iLastPos;
WORD wID;
pt.x = (short) LOWORD(lParam); pt.x = (short) LOWORD(lParam);
pt.y = (short) HIWORD(lParam); pt.y = (short) HIWORD(lParam);
@ -728,18 +483,25 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
hti.pt.x = pt.x; hti.pt.x = pt.x;
hti.pt.y = pt.y; hti.pt.y = pt.y;
ScreenToClient(g_pChildWnd->hTreeWnd, &hti.pt); ScreenToClient(g_pChildWnd->hTreeWnd, &hti.pt);
(void)TreeView_HitTest(g_pChildWnd->hTreeWnd, &hti); TreeView_HitTest(g_pChildWnd->hTreeWnd, &hti);
} }
if (hti.flags & TVHT_ONITEM) if (hti.flags & TVHT_ONITEM)
{ {
TreeView_SelectItem(g_pChildWnd->hTreeWnd, hti.hItem);
isRoot = (TreeView_GetParent(g_pChildWnd->hTreeWnd, hti.hItem) == NULL);
hContextMenu = GetSubMenu(hPopupMenus, PM_TREECONTEXT); hContextMenu = GetSubMenu(hPopupMenus, PM_TREECONTEXT);
(void)TreeView_SelectItem(g_pChildWnd->hTreeWnd, hti.hItem);
/* 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)); memset(&item, 0, sizeof(item));
item.mask = TVIF_STATE | TVIF_CHILDREN; item.mask = TVIF_STATE | TVIF_CHILDREN;
item.hItem = hti.hItem; item.hItem = hti.hItem;
(void)TreeView_GetItem(g_pChildWnd->hTreeWnd, &item); TreeView_GetItem(g_pChildWnd->hTreeWnd, &item);
/* Set the Expand/Collapse menu item appropriately */ /* Set the Expand/Collapse menu item appropriately */
LoadStringW(hInst, (item.state & TVIS_EXPANDED) ? IDS_COLLAPSE : IDS_EXPAND, buffer, COUNT_OF(buffer)); LoadStringW(hInst, (item.state & TVIS_EXPANDED) ? IDS_COLLAPSE : IDS_EXPAND, buffer, COUNT_OF(buffer));
@ -750,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.wID = (item.state & TVIS_EXPANDED) ? ID_TREE_COLLAPSEBRANCH : ID_TREE_EXPANDBRANCH;
mii.dwTypeData = (LPWSTR) buffer; mii.dwTypeData = (LPWSTR) buffer;
SetMenuItemInfo(hContextMenu, 0, TRUE, &mii); SetMenuItemInfo(hContextMenu, 0, TRUE, &mii);
TrackPopupMenu(hContextMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, hFrameWnd, NULL);
/* 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);
} }
} }
break; break;

View file

@ -10,13 +10,13 @@ BEGIN
CHECKBOX "&Batas", 1713, 10, 30, 34, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP 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 "&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 "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 "&Vert. 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 "Mu&ltipel 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 "&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 "&Judul Popout", 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 "&Kolom kenyal", 1715, 79, 50, 66, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
GROUPBOX "Gaya Dasar", -1, 6, 80, 158, 34 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 "&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 "&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 CHECKBOX "&Tab Henti", 1704, 79, 102, 44, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP

View file

@ -3,7 +3,7 @@
* caemyr@gmail.com * caemyr@gmail.com
* https://sourceforge.net/projects/reactospl * https://sourceforge.net/projects/reactospl
* Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (August, 2011) * Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (August, 2011)
* UTF-8 conversion by Caemyr (May, 2011) * UTF-8 conversion by Caemyr (May, 2011)
*/ */
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT LANGUAGE LANG_POLISH, SUBLANG_DEFAULT

View file

@ -1,6 +1,6 @@
/* TRANSLATOR : Mário Kačmár /Mario Kacmar/ aka Kario (kario@szm.sk) /* TRANSLATOR : Mário Kačmár /Mario Kacmar/ aka Kario (kario@szm.sk)
* DATE OF TR.: 07-07-2008 * DATE OF TR.: 07-07-2008
*/ */
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT

View file

@ -4,10 +4,10 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
IDD_COLUMNLISTBOXSTYLES DIALOGEX 0, 0, 227, 215 IDD_COLUMNLISTBOXSTYLES DIALOGEX 0, 0, 227, 215
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU 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 FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN 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 "&Ö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 "&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 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 "&Ç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 "&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 "&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 CHECKBOX "&Esnek Sütunlar", 1715, 79, 50, 66, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
GROUPBOX "Başlıca Biçimler", -1, 6, 80, 158, 34 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 "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 "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 CHECKBOX "Öbe&kleme", 1703, 79, 92, 32, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP

View file

@ -32,7 +32,7 @@ static BOOL s_bAbort;
static DWORD s_dwFlags; static DWORD s_dwFlags;
static WCHAR s_szName[MAX_PATH]; static WCHAR s_szName[MAX_PATH];
static DWORD s_cbName; static DWORD s_cchName;
static const WCHAR s_empty[] = L""; static const WCHAR s_empty[] = L"";
static const WCHAR s_backslash[] = L"\\"; static const WCHAR s_backslash[] = L"\\";
@ -87,41 +87,31 @@ static BOOL CompareName(LPCWSTR pszName1, LPCWSTR pszName2)
} }
} }
static BOOL static BOOL MatchString(LPCWCH pch1, INT cch1, LPCWCH pch2, INT cch2)
CompareData(
DWORD dwType,
LPCWSTR psz1,
LPCWSTR psz2)
{ {
INT i, cch1 = wcslen(psz1), cch2 = wcslen(psz2); INT i;
if (dwType == REG_SZ || dwType == REG_EXPAND_SZ) DWORD dwNorm = ((s_dwFlags & RSF_MATCHCASE) ? NORM_IGNORECASE : 0);
{
if (s_dwFlags & RSF_WHOLESTRING)
{
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);
}
for(i = 0; i <= cch1 - cch2; i++) if (s_dwFlags & RSF_WHOLESTRING)
{ return 2 == CompareStringW(LOCALE_SYSTEM_DEFAULT, dwNorm, pch1, cch1, pch2, cch2);
if (s_dwFlags & RSF_MATCHCASE)
{ if (cch1 < cch2)
if (2 == CompareStringW(LOCALE_SYSTEM_DEFAULT, 0, return FALSE;
psz1 + i, cch2, psz2, cch2))
return TRUE; for (i = 0; i <= cch1 - cch2; i++)
} {
else if (2 == CompareStringW(LOCALE_SYSTEM_DEFAULT, dwNorm, pch1 + i, cch2, pch2, cch2))
{ return TRUE;
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; return FALSE;
} }
@ -143,7 +133,7 @@ BOOL RegFindRecurse(
LONG lResult; LONG lResult;
WCHAR szSubKey[MAX_PATH]; WCHAR szSubKey[MAX_PATH];
DWORD i, c, cb, type; DWORD i, c, cb, type;
BOOL fPast = FALSE; BOOL fPast;
LPWSTR *ppszNames = NULL; LPWSTR *ppszNames = NULL;
LPBYTE pb = NULL; LPBYTE pb = NULL;
@ -160,9 +150,6 @@ BOOL RegFindRecurse(
if (lResult != ERROR_SUCCESS) if (lResult != ERROR_SUCCESS)
return FALSE; return FALSE;
if (pszValueName == NULL)
pszValueName = s_empty;
lResult = RegQueryInfoKeyW(hSubKey, NULL, NULL, NULL, NULL, NULL, NULL, lResult = RegQueryInfoKeyW(hSubKey, NULL, NULL, NULL, NULL, NULL, NULL,
&c, NULL, NULL, NULL, NULL); &c, NULL, NULL, NULL, NULL);
if (lResult != ERROR_SUCCESS) if (lResult != ERROR_SUCCESS)
@ -177,8 +164,8 @@ BOOL RegFindRecurse(
if (DoEvents()) if (DoEvents())
goto err; goto err;
s_cbName = MAX_PATH * sizeof(WCHAR); s_cchName = _countof(s_szName);
lResult = RegEnumValueW(hSubKey, i, s_szName, &s_cbName, NULL, NULL, lResult = RegEnumValueW(hSubKey, i, s_szName, &s_cchName, NULL, NULL,
NULL, &cb); NULL, &cb);
if (lResult == ERROR_NO_MORE_ITEMS) if (lResult == ERROR_NO_MORE_ITEMS)
{ {
@ -187,7 +174,7 @@ BOOL RegFindRecurse(
} }
if (lResult != ERROR_SUCCESS) if (lResult != ERROR_SUCCESS)
goto err; goto err;
if (s_cbName >= MAX_PATH * sizeof(WCHAR)) if (s_cchName >= _countof(s_szName))
continue; continue;
ppszNames[i] = _wcsdup(s_szName); ppszNames[i] = _wcsdup(s_szName);
@ -195,6 +182,7 @@ BOOL RegFindRecurse(
qsort(ppszNames, c, sizeof(LPWSTR), compare); qsort(ppszNames, c, sizeof(LPWSTR), compare);
fPast = (pszValueName == NULL);
for(i = 0; i < c; i++) for(i = 0; i < c; i++)
{ {
if (DoEvents()) if (DoEvents())
@ -212,10 +200,7 @@ BOOL RegFindRecurse(
CompareName(ppszNames[i], s_szFindWhat)) CompareName(ppszNames[i], s_szFindWhat))
{ {
*ppszFoundSubKey = _wcsdup(szSubKey); *ppszFoundSubKey = _wcsdup(szSubKey);
if (ppszNames[i][0] == 0) *ppszFoundValueName = _wcsdup(ppszNames[i]);
*ppszFoundValueName = NULL;
else
*ppszFoundValueName = _wcsdup(ppszNames[i]);
goto success; goto success;
} }
@ -231,14 +216,10 @@ BOOL RegFindRecurse(
if (lResult != ERROR_SUCCESS) if (lResult != ERROR_SUCCESS)
goto err; goto err;
if ((s_dwFlags & RSF_LOOKATDATA) && if ((s_dwFlags & RSF_LOOKATDATA) && MatchData(type, pb, cb))
CompareData(type, (LPWSTR) pb, s_szFindWhat))
{ {
*ppszFoundSubKey = _wcsdup(szSubKey); *ppszFoundSubKey = _wcsdup(szSubKey);
if (ppszNames[i][0] == 0) *ppszFoundValueName = _wcsdup(ppszNames[i]);
*ppszFoundValueName = NULL;
else
*ppszFoundValueName = _wcsdup(ppszNames[i]);
goto success; goto success;
} }
free(pb); free(pb);
@ -267,8 +248,8 @@ BOOL RegFindRecurse(
if (DoEvents()) if (DoEvents())
goto err; goto err;
s_cbName = MAX_PATH * sizeof(WCHAR); s_cchName = _countof(s_szName);
lResult = RegEnumKeyExW(hSubKey, i, s_szName, &s_cbName, NULL, NULL, lResult = RegEnumKeyExW(hSubKey, i, s_szName, &s_cchName, NULL, NULL,
NULL, NULL); NULL, NULL);
if (lResult == ERROR_NO_MORE_ITEMS) if (lResult == ERROR_NO_MORE_ITEMS)
{ {
@ -277,7 +258,7 @@ BOOL RegFindRecurse(
} }
if (lResult != ERROR_SUCCESS) if (lResult != ERROR_SUCCESS)
goto err; goto err;
if (s_cbName >= MAX_PATH * sizeof(WCHAR)) if (s_cchName >= _countof(s_szName))
continue; continue;
ppszNames[i] = _wcsdup(s_szName); ppszNames[i] = _wcsdup(s_szName);
@ -366,17 +347,18 @@ BOOL RegFindWalk(
WCHAR szKeyName[MAX_PATH]; WCHAR szKeyName[MAX_PATH];
WCHAR szSubKey[MAX_PATH]; WCHAR szSubKey[MAX_PATH];
LPWSTR pch; LPWSTR pch;
BOOL fPast; BOOL fPast, fKeyMatched;
LPWSTR *ppszNames = NULL; LPWSTR *ppszNames = NULL;
hBaseKey = *phKey; hBaseKey = *phKey;
if (wcslen(pszSubKey) >= _countof(szSubKey))
return FALSE;
if (RegFindRecurse(hBaseKey, pszSubKey, pszValueName, ppszFoundSubKey, if (RegFindRecurse(hBaseKey, pszSubKey, pszValueName, ppszFoundSubKey,
ppszFoundValueName)) ppszFoundValueName))
return TRUE; return TRUE;
if (wcslen(pszSubKey) >= MAX_PATH)
return FALSE;
wcscpy(szSubKey, pszSubKey); wcscpy(szSubKey, pszSubKey);
while(szSubKey[0] != 0) while(szSubKey[0] != 0)
{ {
@ -415,8 +397,8 @@ BOOL RegFindWalk(
if (DoEvents()) if (DoEvents())
goto err; goto err;
s_cbName = MAX_PATH * sizeof(WCHAR); s_cchName = _countof(s_szName);
lResult = RegEnumKeyExW(hSubKey, i, s_szName, &s_cbName, lResult = RegEnumKeyExW(hSubKey, i, s_szName, &s_cchName,
NULL, NULL, NULL, NULL); NULL, NULL, NULL, NULL);
if (lResult == ERROR_NO_MORE_ITEMS) if (lResult == ERROR_NO_MORE_ITEMS)
{ {
@ -464,7 +446,8 @@ BOOL RegFindWalk(
goto success; goto success;
} }
if (RegFindRecurse(hSubKey, ppszNames[i], NULL, fKeyMatched = (_wcsicmp(ppszNames[i], szKeyName) == 0);
if (RegFindRecurse(hSubKey, ppszNames[i], (fKeyMatched ? pszValueName : NULL),
ppszFoundSubKey, ppszFoundValueName)) ppszFoundSubKey, ppszFoundValueName))
{ {
LPWSTR psz = *ppszFoundSubKey; LPWSTR psz = *ppszFoundSubKey;
@ -687,10 +670,16 @@ BOOL FindNext(HWND hWnd)
{ {
GetKeyName(szFullKey, COUNT_OF(szFullKey), hKeyRoot, pszFoundSubKey); GetKeyName(szFullKey, COUNT_OF(szFullKey), hKeyRoot, pszFoundSubKey);
SelectNode(g_pChildWnd->hTreeWnd, szFullKey); SelectNode(g_pChildWnd->hTreeWnd, szFullKey);
SetValueName(g_pChildWnd->hListWnd, pszFoundValueName);
free(pszFoundSubKey); free(pszFoundSubKey);
free(pszFoundValueName);
SetFocus(g_pChildWnd->hListWnd); if (pszFoundValueName != NULL)
{
SetValueName(g_pChildWnd->hListWnd, pszFoundValueName);
free(pszFoundValueName);
SetFocus(g_pChildWnd->hListWnd);
}
else
SetFocus(g_pChildWnd->hTreeWnd);
} }
return fSuccess || s_bAbort; return fSuccess || s_bAbort;
} }
@ -810,18 +799,23 @@ static INT_PTR CALLBACK FindDialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPAR
return iResult; return iResult;
} }
void FindNextMessageBox(HWND hWnd)
{
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(hWnd, msg, caption, MB_ICONINFORMATION);
}
}
void FindDialog(HWND hWnd) void FindDialog(HWND hWnd)
{ {
if (DialogBoxParamW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_FIND), if (DialogBoxParamW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_FIND),
hWnd, FindDialogProc, 0) != 0) hWnd, FindDialogProc, 0) != 0)
{ {
if (!FindNext(hWnd)) FindNextMessageBox(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);
}
} }
} }

View file

@ -33,27 +33,19 @@
static WCHAR s_szFavoritesRegKey[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Regedit\\Favorites"; 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 */ static BOOL bInMenuLoop = FALSE; /* Tells us if we are in the menu loop */
/******************************************************************************* /*******************************************************************************
* Local module support methods * Local module support methods
*/ */
static void resize_frame_rect(HWND hWnd, PRECT prect) 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)) if (IsWindowVisible(hStatusBar))
{ {
RECT rt;
SetupStatusBar(hWnd, TRUE); SetupStatusBar(hWnd, TRUE);
GetClientRect(hStatusBar, &rt); GetWindowRect(hStatusBar, &rt);
prect->bottom -= rt.bottom; prect->bottom -= rt.bottom - rt.top;
} }
MoveWindow(g_pChildWnd->hWnd, prect->left, prect->top, prect->right, prect->bottom, TRUE); MoveWindow(g_pChildWnd->hWnd, prect->left, prect->top, prect->right, prect->bottom, TRUE);
} }
@ -287,7 +279,7 @@ static BOOL InitOpenFileName(HWND hWnd, OPENFILENAME* pofn)
pofn->nMaxFile = _MAX_PATH; pofn->nMaxFile = _MAX_PATH;
pofn->lpstrFileTitle = FileTitleBuffer; pofn->lpstrFileTitle = FileTitleBuffer;
pofn->nMaxFileTitle = _MAX_PATH; pofn->nMaxFileTitle = _MAX_PATH;
pofn->Flags = OFN_HIDEREADONLY; pofn->Flags = OFN_EXPLORER | OFN_HIDEREADONLY;
pofn->lpstrDefExt = L"reg"; pofn->lpstrDefExt = L"reg";
return TRUE; return TRUE;
} }
@ -389,7 +381,7 @@ static BOOL LoadHive(HWND hWnd)
/* refresh tree and list views */ /* refresh tree and list views */
RefreshTreeView(g_pChildWnd->hTreeWnd); RefreshTreeView(g_pChildWnd->hTreeWnd);
pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hRootKey); pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hRootKey);
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath); RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath, TRUE);
} }
else else
{ {
@ -427,7 +419,7 @@ static BOOL UnloadHive(HWND hWnd)
/* refresh tree and list views */ /* refresh tree and list views */
RefreshTreeView(g_pChildWnd->hTreeWnd); RefreshTreeView(g_pChildWnd->hTreeWnd);
pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hRootKey); pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hRootKey);
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath); RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath, TRUE);
} }
else else
{ {
@ -524,7 +516,7 @@ static BOOL ImportRegistryFile(HWND hWnd)
/* refresh tree and list views */ /* refresh tree and list views */
RefreshTreeView(g_pChildWnd->hTreeWnd); RefreshTreeView(g_pChildWnd->hTreeWnd);
pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot); pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot);
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, pszKeyPath); RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, pszKeyPath, TRUE);
return bRet; return bRet;
} }
@ -573,7 +565,7 @@ static UINT_PTR CALLBACK ExportRegistryFile_OFNHookProc(HWND hdlg, UINT uiMsg, W
{ {
GetWindowTextW(hwndExportBranchText, pszSelectedKey, _MAX_PATH); GetWindowTextW(hwndExportBranchText, pszSelectedKey, _MAX_PATH);
} }
else else if (pszSelectedKey)
{ {
pszSelectedKey[0] = L'\0'; pszSelectedKey[0] = L'\0';
} }
@ -883,7 +875,7 @@ static BOOL CreateNewValue(HKEY hRootKey, LPCWSTR pszKeyPath, DWORD dwType)
return FALSE; 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 */ /* locate the newly added value, and get ready to rename it */
memset(&lvfi, 0, sizeof(lvfi)); memset(&lvfi, 0, sizeof(lvfi));
@ -891,7 +883,12 @@ static BOOL CreateNewValue(HKEY hRootKey, LPCWSTR pszKeyPath, DWORD dwType)
lvfi.psz = szNewValue; lvfi.psz = szNewValue;
iIndex = ListView_FindItem(g_pChildWnd->hListWnd, -1, &lvfi); iIndex = ListView_FindItem(g_pChildWnd->hListWnd, -1, &lvfi);
if (iIndex >= 0) 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); (void)ListView_EditLabel(g_pChildWnd->hListWnd, iIndex);
}
return TRUE; return TRUE;
} }
@ -1134,11 +1131,11 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{ {
case ID_EDIT_MODIFY: case ID_EDIT_MODIFY:
if (valueName && ModifyValue(hWnd, hKey, valueName, FALSE)) if (valueName && ModifyValue(hWnd, hKey, valueName, FALSE))
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath); RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, FALSE);
break; break;
case ID_EDIT_MODIFY_BIN: case ID_EDIT_MODIFY_BIN:
if (valueName && ModifyValue(hWnd, hKey, valueName, TRUE)) if (valueName && ModifyValue(hWnd, hKey, valueName, TRUE))
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath); RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, FALSE);
break; break;
case ID_EDIT_RENAME: case ID_EDIT_RENAME:
if (GetFocus() == g_pChildWnd->hListWnd) if (GetFocus() == g_pChildWnd->hListWnd)
@ -1186,7 +1183,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
item = ni; item = ni;
} }
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath); RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, FALSE);
if(errs > 0) if(errs > 0)
{ {
LoadStringW(hInst, IDS_ERR_DELVAL_CAPTION, caption, COUNT_OF(caption)); 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); FindDialog(hWnd);
break; break;
case ID_EDIT_FINDNEXT: case ID_EDIT_FINDNEXT:
FindNext(hWnd); FindNextMessageBox(hWnd);
break; break;
case ID_EDIT_COPYKEYNAME: case ID_EDIT_COPYKEYNAME:
CopyKeyName(hWnd, hKeyRoot, keyPath); CopyKeyName(hWnd, hKeyRoot, keyPath);
@ -1249,7 +1246,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
case ID_VIEW_REFRESH: case ID_VIEW_REFRESH:
RefreshTreeView(g_pChildWnd->hTreeWnd); RefreshTreeView(g_pChildWnd->hTreeWnd);
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot); keyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot);
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath); RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, TRUE);
break; break;
/*case ID_OPTIONS_TOOLBAR:*/ /*case ID_OPTIONS_TOOLBAR:*/
/* toggle_child(hWnd, LOWORD(wParam), hToolBar);*/ /* 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: case ID_EDIT_NEW_KEY:
CreateNewKey(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd)); CreateNewKey(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd));
break; 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: default:
if ((LOWORD(wParam) >= ID_FAVORITES_MIN) && (LOWORD(wParam) <= ID_FAVORITES_MAX)) if ((LOWORD(wParam) >= ID_FAVORITES_MIN) && (LOWORD(wParam) <= ID_FAVORITES_MAX))
{ {
@ -1303,14 +1328,16 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
LRESULT CALLBACK FrameWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) LRESULT CALLBACK FrameWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{ {
RECT rc;
switch (message) switch (message)
{ {
case WM_CREATE: case WM_CREATE:
// For now, the Help dialog item is disabled because of lacking of HTML Help support // 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); EnableMenuItem(GetMenu(hWnd), ID_HELP_HELPTOPICS, MF_BYCOMMAND | MF_GRAYED);
GetClientRect(hWnd, &rc);
CreateWindowExW(0, szChildClass, NULL, WS_CHILD | WS_VISIBLE, 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); hWnd, (HMENU)0, hInst, 0);
break; break;
case WM_COMMAND: case WM_COMMAND:
if (!_CmdWndProc(hWnd, message, wParam, lParam)) if (!_CmdWndProc(hWnd, message, wParam, lParam))

View file

@ -134,7 +134,7 @@ BEGIN
MENUITEM "&Преименуване", ID_TREE_RENAME MENUITEM "&Преименуване", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Износ", ID_TREE_EXPORT MENUITEM "&Износ", ID_TREE_EXPORT
MENUITEM "&Права...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Права...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Запомняне стойността на ключа", ID_EDIT_COPYKEYNAME MENUITEM "&Запомняне стойността на ключа", ID_EDIT_COPYKEYNAME
END END
@ -393,7 +393,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Разгръщане" IDS_EXPAND "&Разгръщане"
IDS_COLLAPSE "&Свиване" IDS_COLLAPSE "&Свиване"
IDS_GOTO_SUGGESTED_KEY "&Отиване на '%s'"
IDS_FINISHEDFIND "Търсенето в регистъра приключи." IDS_FINISHEDFIND "Търсенето в регистъра приключи."
END END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Přejmenovat", ID_TREE_RENAME MENUITEM "&Přejmenovat", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Exportovat", ID_TREE_EXPORT MENUITEM "&Exportovat", ID_TREE_EXPORT
MENUITEM "Oprá&vnění...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "Oprá&vnění...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Z&kopírovat název klíče", ID_EDIT_COPYKEYNAME MENUITEM "Z&kopírovat název klíče", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Rozbalit" IDS_EXPAND "&Rozbalit"
IDS_COLLAPSE "&Sbalit" IDS_COLLAPSE "&Sbalit"
IDS_GOTO_SUGGESTED_KEY "&Jít na '%s'"
IDS_FINISHEDFIND "Prohledávání registru bylo dokončeno." IDS_FINISHEDFIND "Prohledávání registru bylo dokončeno."
END END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Umbenennen", ID_TREE_RENAME MENUITEM "&Umbenennen", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Exportieren", ID_TREE_EXPORT MENUITEM "&Exportieren", ID_TREE_EXPORT
MENUITEM "&Berechtigungen...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Berechtigungen...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "S&chlüsselnamen kopieren", ID_EDIT_COPYKEYNAME MENUITEM "S&chlüsselnamen kopieren", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Expandieren" IDS_EXPAND "&Expandieren"
IDS_COLLAPSE "&Schließen" IDS_COLLAPSE "&Schließen"
IDS_GOTO_SUGGESTED_KEY "&Gehe zu '%s'"
IDS_FINISHEDFIND "Durchsuchen der Registry beendet." IDS_FINISHEDFIND "Durchsuchen der Registry beendet."
END END

View file

@ -28,7 +28,7 @@ IDR_REGEDIT_MENU MENU
BEGIN BEGIN
POPUP "&Αρχείο" POPUP "&Αρχείο"
BEGIN BEGIN
MENUITEM "&Εισαγωγή ...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Εισαγωγή...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Εξαγωγή...", ID_REGISTRY_EXPORTREGISTRYFILE MENUITEM "&Εξαγωγή...", ID_REGISTRY_EXPORTREGISTRYFILE
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Φόρτωση Hive...", ID_REGISTRY_LOADHIVE, GRAYED MENUITEM "Φόρτωση Hive...", ID_REGISTRY_LOADHIVE, GRAYED
@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Μετονομασία", ID_TREE_RENAME MENUITEM "&Μετονομασία", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Εξαγωγή", ID_TREE_EXPORT MENUITEM "&Εξαγωγή", ID_TREE_EXPORT
MENUITEM "&Δικαιώματα...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Δικαιώματα...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Αντιγραφή Ονόματος Κλειδιού", ID_EDIT_COPYKEYNAME MENUITEM "&Αντιγραφή Ονόματος Κλειδιού", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Expand" IDS_EXPAND "&Expand"
IDS_COLLAPSE "&Collapse" IDS_COLLAPSE "&Collapse"
IDS_GOTO_SUGGESTED_KEY "&Μετάβαση σε '%s'"
IDS_FINISHEDFIND "Τέλος αναζήτησης στη registry." IDS_FINISHEDFIND "Τέλος αναζήτησης στη registry."
END END

View file

@ -28,7 +28,7 @@ IDR_REGEDIT_MENU MENU
BEGIN BEGIN
POPUP "&File" POPUP "&File"
BEGIN BEGIN
MENUITEM "&Import ...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Import...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Export...", ID_REGISTRY_EXPORTREGISTRYFILE MENUITEM "&Export...", ID_REGISTRY_EXPORTREGISTRYFILE
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Load Hive...", ID_REGISTRY_LOADHIVE, GRAYED MENUITEM "Load Hive...", ID_REGISTRY_LOADHIVE, GRAYED
@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Rename", ID_TREE_RENAME MENUITEM "&Rename", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Expand" IDS_EXPAND "&Expand"
IDS_COLLAPSE "&Collapse" IDS_COLLAPSE "&Collapse"
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
IDS_FINISHEDFIND "Finished searching through the registry." IDS_FINISHEDFIND "Finished searching through the registry."
END END

View file

@ -29,7 +29,7 @@ END
IDR_REGEDIT_MENU MENU IDR_REGEDIT_MENU MENU
BEGIN BEGIN
POPUP "&Registro" POPUP "&Archivo"
BEGIN BEGIN
MENUITEM "&Importar archivo...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Importar archivo...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Exportar archivo...", ID_REGISTRY_EXPORTREGISTRYFILE MENUITEM "&Exportar archivo...", ID_REGISTRY_EXPORTREGISTRYFILE
@ -132,7 +132,7 @@ BEGIN
MENUITEM "&Renombrar", ID_TREE_RENAME MENUITEM "&Renombrar", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Exportar", ID_TREE_EXPORT MENUITEM "&Exportar", ID_TREE_EXPORT
MENUITEM "&Permisos...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Permisos...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copiar nombre de clave", ID_EDIT_COPYKEYNAME MENUITEM "&Copiar nombre de clave", ID_EDIT_COPYKEYNAME
END END
@ -391,7 +391,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Expandir" IDS_EXPAND "&Expandir"
IDS_COLLAPSE "&Contraer" IDS_COLLAPSE "&Contraer"
IDS_GOTO_SUGGESTED_KEY "&Ir a '%s'"
IDS_FINISHEDFIND "Ha terminado la búsqueda en el Registro." IDS_FINISHEDFIND "Ha terminado la búsqueda en el Registro."
END END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Renommer\tF2", ID_TREE_RENAME MENUITEM "&Renommer\tF2", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Exporter", ID_TREE_EXPORT MENUITEM "&Exporter", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copier le nom de la clé", ID_EDIT_COPYKEYNAME MENUITEM "&Copier le nom de la clé", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "Dérouler" IDS_EXPAND "Dérouler"
IDS_COLLAPSE "Réduire" IDS_COLLAPSE "Réduire"
IDS_GOTO_SUGGESTED_KEY "Aller à '%s'"
IDS_FINISHEDFIND "Recherche dans le registre terminée." IDS_FINISHEDFIND "Recherche dans le registre terminée."
END END
@ -507,11 +506,11 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Chercher" CAPTION "Chercher"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
DEFPUSHBUTTON "Chercher le suivant", IDOK, 197, 7, 50, 14 DEFPUSHBUTTON "Chercher le suivant", IDOK, 185, 7, 67, 14
PUSHBUTTON "Annuler", IDCANCEL, 197, 24, 50, 14 PUSHBUTTON "Annuler", IDCANCEL, 185, 24, 67, 14
GROUPBOX "Rechercher", IDC_STATIC, 7, 25, 63, 51 GROUPBOX "Rechercher", IDC_STATIC, 7, 25, 63, 51
LTEXT "Rechercher :", IDC_STATIC, 7, 8, 37, 10 LTEXT "Rechercher :", IDC_STATIC, 7, 8, 42, 10
EDITTEXT IDC_FINDWHAT, 47, 7, 142, 13, ES_AUTOHSCROLL EDITTEXT IDC_FINDWHAT, 48, 7, 133, 13, ES_AUTOHSCROLL
CONTROL "Clés", IDC_LOOKAT_KEYS, "Button", BS_AUTOCHECKBOX | CONTROL "Clés", IDC_LOOKAT_KEYS, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 14, 36, 35, 8 WS_TABSTOP, 14, 36, 35, 8
CONTROL "&Valeurs", IDC_LOOKAT_VALUES, "Button", BS_AUTOCHECKBOX | CONTROL "&Valeurs", IDC_LOOKAT_VALUES, "Button", BS_AUTOCHECKBOX |
@ -519,7 +518,7 @@ BEGIN
CONTROL "&Données", IDC_LOOKAT_DATA, "Button", BS_AUTOCHECKBOX | CONTROL "&Données", IDC_LOOKAT_DATA, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 14, 60, 42, 8 WS_TABSTOP, 14, 60, 42, 8
CONTROL "Chaîne complète seulement", IDC_MATCHSTRING, "Button", BS_AUTOCHECKBOX | 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 | CONTROL "Sensible à la casse", IDC_MATCHCASE, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 83, 48, 90, 12 WS_TABSTOP, 83, 48, 90, 12
END END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "שנה שם", ID_TREE_RENAME MENUITEM "שנה שם", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "יצא", ID_TREE_EXPORT MENUITEM "יצא", ID_TREE_EXPORT
MENUITEM "הרשאות...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "הרשאות...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "העתק שם מפתח", ID_EDIT_COPYKEYNAME MENUITEM "העתק שם מפתח", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "הרחב" IDS_EXPAND "הרחב"
IDS_COLLAPSE "כווץ" IDS_COLLAPSE "כווץ"
IDS_GOTO_SUGGESTED_KEY "עבור אל '%s'"
IDS_FINISHEDFIND "Finished searching through the registry." IDS_FINISHEDFIND "Finished searching through the registry."
END END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Rename", ID_TREE_RENAME MENUITEM "&Rename", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Expand" IDS_EXPAND "&Expand"
IDS_COLLAPSE "&Collapse" IDS_COLLAPSE "&Collapse"
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
IDS_FINISHEDFIND "Finished searching through the registry." IDS_FINISHEDFIND "Finished searching through the registry."
END END

View file

@ -28,10 +28,10 @@ IDR_REGEDIT_MENU MENU
BEGIN BEGIN
POPUP "&File" POPUP "&File"
BEGIN BEGIN
MENUITEM "&Impor ...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Impor...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Ekspor...", ID_REGISTRY_EXPORTREGISTRYFILE MENUITEM "&Ekspor...", ID_REGISTRY_EXPORTREGISTRYFILE
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Ambil Hive...", ID_REGISTRY_LOADHIVE, GRAYED MENUITEM "Muat Hive...", ID_REGISTRY_LOADHIVE, GRAYED
MENUITEM "Buang Hive...", ID_REGISTRY_UNLOADHIVE, GRAYED MENUITEM "Buang Hive...", ID_REGISTRY_UNLOADHIVE, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Sambung Registri Jaringan...", ID_REGISTRY_CONNECTNETWORKREGISTRY MENUITEM "&Sambung Registri Jaringan...", ID_REGISTRY_CONNECTNETWORKREGISTRY
@ -43,7 +43,7 @@ BEGIN
END END
POPUP "&Edit" POPUP "&Edit"
BEGIN BEGIN
MENUITEM "&Modifikasi", ID_EDIT_MODIFY MENUITEM "&Ubah", ID_EDIT_MODIFY
MENUITEM SEPARATOR MENUITEM SEPARATOR
POPUP "&Baru" POPUP "&Baru"
BEGIN BEGIN
@ -91,8 +91,8 @@ IDR_POPUP_MENUS MENU
BEGIN BEGIN
POPUP "" POPUP ""
BEGIN BEGIN
MENUITEM "&Modifikasi", ID_EDIT_MODIFY MENUITEM "&Ubah", ID_EDIT_MODIFY
MENUITEM "Modifikasi Data Biner", ID_EDIT_MODIFY_BIN MENUITEM "Ubah Data Biner", ID_EDIT_MODIFY_BIN
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Hapus\tDel", ID_EDIT_DELETE MENUITEM "&Hapus\tDel", ID_EDIT_DELETE
MENUITEM "&Ganti nama", ID_EDIT_RENAME MENUITEM "&Ganti nama", ID_EDIT_RENAME
@ -129,9 +129,9 @@ BEGIN
MENUITEM "&Ganti nama", ID_TREE_RENAME MENUITEM "&Ganti nama", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Ekspor", ID_TREE_EXPORT MENUITEM "&Ekspor", ID_TREE_EXPORT
MENUITEM "&Perijinan...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Perijinan...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copy Nama Kunci", ID_EDIT_COPYKEYNAME MENUITEM "Copy Nama Kunci", ID_EDIT_COPYKEYNAME
END END
POPUP "" POPUP ""
BEGIN BEGIN
@ -270,7 +270,7 @@ STRINGTABLE
BEGIN BEGIN
ID_REGISTRY_MENU "Berisi perintah untuk bekerja dengan registri keseluruhan" ID_REGISTRY_MENU "Berisi perintah untuk bekerja dengan registri keseluruhan"
ID_EDIT_MENU "Berisi perintah untuk mengedit nilai atau kunci" 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_FAVOURITES_MENU "Berisi perintah untuk mengakses kunci yang sering digunakan"
ID_HELP_MENU "Berisi perintah untuk menampilkan bantuan dan informasi mengenai editor registri" 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" ID_EDIT_NEW_MENU "Berisi perintah untuk membuat kunci atau nilai baru"
@ -278,7 +278,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
ID_EDIT_MODIFY "Memodifikasi data nilail" ID_EDIT_MODIFY "Mengubah data nilai"
ID_EDIT_NEW_KEY "Menambah kunci baru" ID_EDIT_NEW_KEY "Menambah kunci baru"
ID_EDIT_NEW_STRINGVALUE "Menambah nilai string baru" ID_EDIT_NEW_STRINGVALUE "Menambah nilai string baru"
ID_EDIT_NEW_BINARYVALUE "Menambah nilai biner baru" ID_EDIT_NEW_BINARYVALUE "Menambah nilai biner baru"
@ -386,9 +386,8 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Lebarkan" IDS_EXPAND "Pe&rluas"
IDS_COLLAPSE "&Sempitkan" IDS_COLLAPSE "&Sempitkan"
IDS_GOTO_SUGGESTED_KEY "&Pergi ke '%s'"
IDS_FINISHEDFIND "Selesai mencari seluruh registri." IDS_FINISHEDFIND "Selesai mencari seluruh registri."
END END

View file

@ -26,7 +26,7 @@ END
IDR_REGEDIT_MENU MENU IDR_REGEDIT_MENU MENU
BEGIN BEGIN
POPUP "&Registro" POPUP "&File"
BEGIN BEGIN
MENUITEM "&Importa...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Importa...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Esporta...", ID_REGISTRY_EXPORTREGISTRYFILE MENUITEM "&Esporta...", ID_REGISTRY_EXPORTREGISTRYFILE
@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Rinomina", ID_TREE_RENAME MENUITEM "&Rinomina", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Esporta", ID_TREE_EXPORT MENUITEM "&Esporta", ID_TREE_EXPORT
MENUITEM "&Permessi...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Permessi...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copia il nome della chiave", ID_EDIT_COPYKEYNAME MENUITEM "&Copia il nome della chiave", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Espandi" IDS_EXPAND "&Espandi"
IDS_COLLAPSE "&Raccogli" IDS_COLLAPSE "&Raccogli"
IDS_GOTO_SUGGESTED_KEY "&Vai a '%s'"
IDS_FINISHEDFIND "Fine ricerca nel registro." IDS_FINISHEDFIND "Fine ricerca nel registro."
END END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "名前の変更(&R)", ID_TREE_RENAME MENUITEM "名前の変更(&R)", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "エクスポート(&E)", ID_TREE_EXPORT MENUITEM "エクスポート(&E)", ID_TREE_EXPORT
MENUITEM "アクセス許可(&P)...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "アクセス許可(&P)...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "キー名のコピー(&C)", ID_EDIT_COPYKEYNAME MENUITEM "キー名のコピー(&C)", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "展開(&E)" IDS_EXPAND "展開(&E)"
IDS_COLLAPSE "閉じる(&C)" IDS_COLLAPSE "閉じる(&C)"
IDS_GOTO_SUGGESTED_KEY "'%s' へ移動する(&G)"
IDS_FINISHEDFIND "レジストリをすべて検索しました。" IDS_FINISHEDFIND "レジストリをすべて検索しました。"
END END

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "이름 바꾸기(&R)", ID_TREE_RENAME MENUITEM "이름 바꾸기(&R)", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "내보내기(&E)", ID_TREE_EXPORT MENUITEM "내보내기(&E)", ID_TREE_EXPORT
MENUITEM "권한 설정(&P)", ID_TREE_PERMISSIONS, GRAYED MENUITEM "권한 설정(&P)", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "키 이름 복사(&C)", ID_EDIT_COPYKEYNAME MENUITEM "키 이름 복사(&C)", ID_EDIT_COPYKEYNAME
END END
@ -390,7 +390,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "확장(&E)" IDS_EXPAND "확장(&E)"
IDS_COLLAPSE "축소(&C)" IDS_COLLAPSE "축소(&C)"
IDS_GOTO_SUGGESTED_KEY "'%s'로 가기(&G)"
IDS_FINISHEDFIND "레지스트리 검색을 완료했습니다." IDS_FINISHEDFIND "레지스트리 검색을 완료했습니다."
END END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Rename", ID_TREE_RENAME MENUITEM "&Rename", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Expand" IDS_EXPAND "&Expand"
IDS_COLLAPSE "&Collapse" IDS_COLLAPSE "&Collapse"
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
IDS_FINISHEDFIND "Finished searching through the registry." IDS_FINISHEDFIND "Finished searching through the registry."
END END

View file

@ -28,7 +28,7 @@ IDR_REGEDIT_MENU MENU
BEGIN BEGIN
POPUP "&Fil" POPUP "&Fil"
BEGIN BEGIN
MENUITEM "&Import ...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Import...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Eksport...", ID_REGISTRY_EXPORTREGISTRYFILE MENUITEM "&Eksport...", ID_REGISTRY_EXPORTREGISTRYFILE
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Last inn struktur...", ID_REGISTRY_LOADHIVE, GRAYED MENUITEM "Last inn struktur...", ID_REGISTRY_LOADHIVE, GRAYED
@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Gi nytt navn", ID_TREE_RENAME MENUITEM "&Gi nytt navn", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Eksport", ID_TREE_EXPORT MENUITEM "&Eksport", ID_TREE_EXPORT
MENUITEM "&Rettigheter...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Rettigheter...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Kopier nøkkelnavn", ID_EDIT_COPYKEYNAME MENUITEM "&Kopier nøkkelnavn", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Utvid" IDS_EXPAND "&Utvid"
IDS_COLLAPSE "&Minimer" IDS_COLLAPSE "&Minimer"
IDS_GOTO_SUGGESTED_KEY "&Gå til '%s'"
IDS_FINISHEDFIND "Søket i registret er fullført." IDS_FINISHEDFIND "Søket i registret er fullført."
END END

View file

@ -2,10 +2,10 @@
* Update by Caemyr - Olaf Siejka (Jan, 2007; May, 2011) * Update by Caemyr - Olaf Siejka (Jan, 2007; May, 2011)
* Use ReactOS forum PM or IRC to contact me * Use ReactOS forum PM or IRC to contact me
* https://reactos.org * https://reactos.org
* IRC: irc.freenode.net #reactos-pl; * IRC: irc.freenode.net #reactos-pl;
* Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (August, 2011) * Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (August, 2011)
* UTF-8 conversion by Caemyr (May, 2011) * UTF-8 conversion by Caemyr (May, 2011)
* Update by wojo664 (04.08.2011) * Update by wojo664 (04.08.2011)
*/ */
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
@ -139,7 +139,7 @@ BEGIN
MENUITEM "Z&mień nazwę", ID_TREE_RENAME MENUITEM "Z&mień nazwę", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Eksportuj", ID_TREE_EXPORT MENUITEM "&Eksportuj", ID_TREE_EXPORT
MENUITEM "&Uprawnienia..", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Uprawnienia..", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Kopiuj nazwę klucza", ID_EDIT_COPYKEYNAME MENUITEM "&Kopiuj nazwę klucza", ID_EDIT_COPYKEYNAME
END END
@ -398,7 +398,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Rozwiń" IDS_EXPAND "&Rozwiń"
IDS_COLLAPSE "&Zwiń" IDS_COLLAPSE "&Zwiń"
IDS_GOTO_SUGGESTED_KEY "&Idź do '%s'"
IDS_FINISHEDFIND "Przeszukiwanie rejestru zakończone." IDS_FINISHEDFIND "Przeszukiwanie rejestru zakończone."
END END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Renomear", ID_TREE_RENAME MENUITEM "&Renomear", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Exportar", ID_TREE_EXPORT MENUITEM "&Exportar", ID_TREE_EXPORT
MENUITEM "&Permissões...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Permissões...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copiar nome da chave", ID_EDIT_COPYKEYNAME MENUITEM "&Copiar nome da chave", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Expandir" IDS_EXPAND "&Expandir"
IDS_COLLAPSE "&Reduzir" IDS_COLLAPSE "&Reduzir"
IDS_GOTO_SUGGESTED_KEY "&Ir para '%s'"
IDS_FINISHEDFIND "Pesquisa do Registro concluída." IDS_FINISHEDFIND "Pesquisa do Registro concluída."
END END

View file

@ -26,16 +26,16 @@ END
IDR_REGEDIT_MENU MENU IDR_REGEDIT_MENU MENU
BEGIN BEGIN
POPUP "&Registro" POPUP "&Registo"
BEGIN BEGIN
MENUITEM "&Importar arquivo do Registro...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Importar arquivo do Registo...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Exportar arquivo do Registro...", ID_REGISTRY_EXPORTREGISTRYFILE MENUITEM "&Exportar arquivo do Registo...", ID_REGISTRY_EXPORTREGISTRYFILE
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Load Hive...", ID_REGISTRY_LOADHIVE, GRAYED MENUITEM "Load Hive...", ID_REGISTRY_LOADHIVE, GRAYED
MENUITEM "Unload Hive...", ID_REGISTRY_UNLOADHIVE, GRAYED MENUITEM "Unload Hive...", ID_REGISTRY_UNLOADHIVE, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Conectar Registro da rede...", ID_REGISTRY_CONNECTNETWORKREGISTRY MENUITEM "&Ligar Registo da rede...", ID_REGISTRY_CONNECTNETWORKREGISTRY
MENUITEM "&Desconectar Registro da rede...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED MENUITEM "&Desligar Registo da rede...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Im&primir...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED MENUITEM "Im&primir...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
@ -66,7 +66,7 @@ BEGIN
MENUITEM "&Localizar...\tCtrl+F", ID_EDIT_FIND MENUITEM "&Localizar...\tCtrl+F", ID_EDIT_FIND
MENUITEM "L&ocalizar próxima\tF3", ID_EDIT_FINDNEXT MENUITEM "L&ocalizar próxima\tF3", ID_EDIT_FINDNEXT
END END
POPUP "E&xibir" POPUP "&Ver"
BEGIN BEGIN
MENUITEM "&Barra de status", ID_VIEW_STATUSBAR MENUITEM "&Barra de status", ID_VIEW_STATUSBAR
MENUITEM SEPARATOR MENUITEM SEPARATOR
@ -83,7 +83,7 @@ BEGIN
BEGIN BEGIN
MENUITEM "&Topics da Ajuda", ID_HELP_HELPTOPICS MENUITEM "&Topics da Ajuda", ID_HELP_HELPTOPICS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Sobre o Editor do Registro", ID_HELP_ABOUT MENUITEM "&Sobre o Editor do Registo", ID_HELP_ABOUT
END END
END END
@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Rename", ID_TREE_RENAME MENUITEM "&Rename", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END END
@ -261,18 +261,18 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_APP_TITLE "Editor do Registro" IDS_APP_TITLE "Editor do Registo"
IDC_REGEDIT "REGEDIT" IDC_REGEDIT "REGEDIT"
IDC_REGEDIT_FRAME "REGEDIT_FRAME" IDC_REGEDIT_FRAME "REGEDIT_FRAME"
END END
STRINGTABLE STRINGTABLE
BEGIN 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_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_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" ID_EDIT_NEW_MENU "Contém comandos para criação de novas chaves ou valores"
END END
@ -283,20 +283,20 @@ BEGIN
ID_EDIT_NEW_STRINGVALUE "Adiciona um novo valor texto." ID_EDIT_NEW_STRINGVALUE "Adiciona um novo valor texto."
ID_EDIT_NEW_BINARYVALUE "Adiciona um novo valor binário." ID_EDIT_NEW_BINARYVALUE "Adiciona um novo valor binário."
ID_EDIT_NEW_DWORDVALUE "Adiciona um novo valor DWORD." ID_EDIT_NEW_DWORDVALUE "Adiciona um novo valor DWORD."
ID_REGISTRY_IMPORTREGISTRYFILE "Importa um arquivo texto para o registro." ID_REGISTRY_IMPORTREGISTRYFILE "Importa um arquivo texto para o registo."
ID_REGISTRY_EXPORTREGISTRYFILE "Exporta todo ou parte do registro para um arquivo texto." 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_LOADHIVE "Loads a hive file into the registry"
ID_REGISTRY_UNLOADHIVE "Unloads a hive from the registry" ID_REGISTRY_UNLOADHIVE "Unloads a hive from the registry"
ID_REGISTRY_CONNECTNETWORKREGISTRY "Conecta a um registro em um computador remoto." ID_REGISTRY_CONNECTNETWORKREGISTRY "Liga a um registo num computador remoto."
ID_REGISTRY_DISCONNECTNETWORKREGISTRY "Desconecta de um registro um computador remoto." ID_REGISTRY_DISCONNECTNETWORKREGISTRY "Desliga um registo de um computador remoto."
ID_REGISTRY_PRINT "Imprime todo ou parte do registro." ID_REGISTRY_PRINT "Imprime todo ou parte do registo."
/* ID_HELP_HELPTOPICS "Abre a ajuda do Editor do Registro." */ /* 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." ID_HELP_ABOUT "Exibe informações do programa, número da versão e copyright."
END END
STRINGTABLE STRINGTABLE
BEGIN 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_ADDTOFAVOURITES "Adiciona chaves a lista de favoritos."
ID_FAVOURITES_REMOVEFAVOURITE "Remove chaves da lista de favoritos." ID_FAVOURITES_REMOVEFAVOURITE "Remove chaves da lista de favoritos."
ID_VIEW_STATUSBAR "Mostra ou oculta a barra de status." ID_VIEW_STATUSBAR "Mostra ou oculta a barra de status."
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Expand" IDS_EXPAND "&Expand"
IDS_COLLAPSE "&Collapse" IDS_COLLAPSE "&Collapse"
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
IDS_FINISHEDFIND "Finished searching through the registry." IDS_FINISHEDFIND "Finished searching through the registry."
END END

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "&Redenumește", ID_TREE_RENAME MENUITEM "&Redenumește", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "E&xportă", ID_TREE_EXPORT MENUITEM "E&xportă", ID_TREE_EXPORT
MENUITEM "Permisiuni…", ID_TREE_PERMISSIONS, GRAYED MENUITEM "Permisiuni…", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copiază numele cheii", ID_EDIT_COPYKEYNAME MENUITEM "&Copiază numele cheii", ID_EDIT_COPYKEYNAME
END END
@ -390,7 +390,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Extinde" IDS_EXPAND "&Extinde"
IDS_COLLAPSE "&Restrânge" IDS_COLLAPSE "&Restrânge"
IDS_GOTO_SUGGESTED_KEY "S&alt la „%s”"
IDS_FINISHEDFIND "Căutarea în registru a fost finalizată." IDS_FINISHEDFIND "Căutarea în registru a fost finalizată."
END END

View file

@ -26,10 +26,10 @@ END
IDR_REGEDIT_MENU MENU IDR_REGEDIT_MENU MENU
BEGIN BEGIN
POPUP "&Реестр" POPUP "&Файл"
BEGIN BEGIN
MENUITEM "&Импортировать файл реестра...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Импортировать из файла...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Экспортировать файл реестра...", ID_REGISTRY_EXPORTREGISTRYFILE MENUITEM "&Экспортировать в файл...", ID_REGISTRY_EXPORTREGISTRYFILE
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Загрузить куст...", ID_REGISTRY_LOADHIVE, GRAYED MENUITEM "Загрузить куст...", ID_REGISTRY_LOADHIVE, GRAYED
MENUITEM "Выгрузить куст...", ID_REGISTRY_UNLOADHIVE, GRAYED MENUITEM "Выгрузить куст...", ID_REGISTRY_UNLOADHIVE, GRAYED
@ -56,7 +56,7 @@ BEGIN
MENUITEM "Рас&ширяемый строковый параметр", ID_EDIT_NEW_EXPANDABLESTRINGVALUE MENUITEM "Рас&ширяемый строковый параметр", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
END END
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Права доступа...", ID_EDIT_PERMISSIONS MENUITEM "Разре&шения...", ID_EDIT_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Удалить\tDel", ID_EDIT_DELETE MENUITEM "&Удалить\tDel", ID_EDIT_DELETE
MENUITEM "&Переименовать", ID_EDIT_RENAME MENUITEM "&Переименовать", ID_EDIT_RENAME
@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Переименовать", ID_TREE_RENAME MENUITEM "&Переименовать", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Экспорт", ID_TREE_EXPORT MENUITEM "&Экспорт", ID_TREE_EXPORT
MENUITEM "Разре&шения...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "Разре&шения...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Копировать имя ключа", ID_EDIT_COPYKEYNAME MENUITEM "&Копировать имя ключа", ID_EDIT_COPYKEYNAME
END END
@ -367,8 +367,8 @@ BEGIN
IDS_ACCESS_READ "Чтение" IDS_ACCESS_READ "Чтение"
IDS_ACCESS_QUERYVALUE "Запрос значений" IDS_ACCESS_QUERYVALUE "Запрос значений"
IDS_ACCESS_SETVALUE "Установка значений" IDS_ACCESS_SETVALUE "Установка значений"
IDS_ACCESS_CREATESUBKEY "Создание подключей" IDS_ACCESS_CREATESUBKEY "Создание разделов"
IDS_ACCESS_ENUMERATESUBKEYS "Перечисление подключей" IDS_ACCESS_ENUMERATESUBKEYS "Перечисление разделов"
IDS_ACCESS_NOTIFY "Уведомление" IDS_ACCESS_NOTIFY "Уведомление"
IDS_ACCESS_CREATELINK "Создание связи" IDS_ACCESS_CREATELINK "Создание связи"
IDS_ACCESS_DELETE "Удаление" IDS_ACCESS_DELETE "Удаление"
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Развернуть" IDS_EXPAND "&Развернуть"
IDS_COLLAPSE "&Свернуть" IDS_COLLAPSE "&Свернуть"
IDS_GOTO_SUGGESTED_KEY "&Перейти к '%s'"
IDS_FINISHEDFIND "Поиск в реестре завершен." IDS_FINISHEDFIND "Поиск в реестре завершен."
END END

View file

@ -1,7 +1,7 @@
/* TRANSLATOR : Mário Kačmár /Mario Kacmar/ aka Kario (kario@szm.sk) /* TRANSLATOR : Mário Kačmár /Mario Kacmar/ aka Kario (kario@szm.sk)
* DATE OF TR.: 07-07-2008 * DATE OF TR.: 07-07-2008
* LAST CHANGE: 29-07-2010 * LAST CHANGE: 29-07-2010
*/ */
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
@ -134,7 +134,7 @@ BEGIN
MENUITEM "&Premenovať", ID_TREE_RENAME MENUITEM "&Premenovať", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END END
@ -393,7 +393,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Expand" IDS_EXPAND "&Expand"
IDS_COLLAPSE "&Collapse" IDS_COLLAPSE "&Collapse"
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
IDS_FINISHEDFIND "Finished searching through the registry." IDS_FINISHEDFIND "Finished searching through the registry."
END END

View file

@ -28,14 +28,14 @@ IDR_REGEDIT_MENU MENU
BEGIN BEGIN
POPUP "&Register" POPUP "&Register"
BEGIN BEGIN
MENUITEM "&Uvozi registrsko datoteko ...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Uvozi registrsko datoteko...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Izvozi registrsko datoteko ...", ID_REGISTRY_EXPORTREGISTRYFILE MENUITEM "&Izvozi registrsko datoteko...", ID_REGISTRY_EXPORTREGISTRYFILE
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Load Hive...", ID_REGISTRY_LOADHIVE, GRAYED MENUITEM "Load Hive...", ID_REGISTRY_LOADHIVE, GRAYED
MENUITEM "Unload Hive...", ID_REGISTRY_UNLOADHIVE, GRAYED MENUITEM "Unload Hive...", ID_REGISTRY_UNLOADHIVE, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "P&oveži se z omrežnim registrom ...", ID_REGISTRY_CONNECTNETWORKREGISTRY 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&rekini povezavo z omrežnim registrom...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Na&tisni...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED MENUITEM "Na&tisni...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Rename", ID_TREE_RENAME MENUITEM "&Rename", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Expand" IDS_EXPAND "&Expand"
IDS_COLLAPSE "&Collapse" IDS_COLLAPSE "&Collapse"
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
IDS_FINISHEDFIND "Finished searching through the registry." IDS_FINISHEDFIND "Finished searching through the registry."
END END

View file

@ -1,4 +1,4 @@
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com) /* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
* DATE OF TR: 29-11-2013 * DATE OF TR: 29-11-2013
*/ */
@ -32,7 +32,7 @@ IDR_REGEDIT_MENU MENU
BEGIN BEGIN
POPUP "&File" POPUP "&File"
BEGIN BEGIN
MENUITEM "&Importo ...", ID_REGISTRY_IMPORTREGISTRYFILE MENUITEM "&Importo...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Eksporto...", ID_REGISTRY_EXPORTREGISTRYFILE MENUITEM "&Eksporto...", ID_REGISTRY_EXPORTREGISTRYFILE
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Ngarko koshere...", ID_REGISTRY_LOADHIVE, GRAYED MENUITEM "Ngarko koshere...", ID_REGISTRY_LOADHIVE, GRAYED
@ -133,7 +133,7 @@ BEGIN
MENUITEM "Emero", ID_TREE_RENAME MENUITEM "Emero", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Exporto", ID_TREE_EXPORT MENUITEM "&Exporto", ID_TREE_EXPORT
MENUITEM "T'drejta...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "T'drejta...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Kopjo emrin çelesit", ID_EDIT_COPYKEYNAME MENUITEM "Kopjo emrin çelesit", ID_EDIT_COPYKEYNAME
END END
@ -392,7 +392,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "Zgjat" IDS_EXPAND "Zgjat"
IDS_COLLAPSE "Zgjero" IDS_COLLAPSE "Zgjero"
IDS_GOTO_SUGGESTED_KEY "Shko tek '%s'"
IDS_FINISHEDFIND "Përfunduar kërkimin përmes regjistrit." IDS_FINISHEDFIND "Përfunduar kërkimin përmes regjistrit."
END END

View file

@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Byt namn", ID_TREE_RENAME MENUITEM "&Byt namn", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Exportera", ID_TREE_EXPORT MENUITEM "&Exportera", ID_TREE_EXPORT
MENUITEM "&Behörigheter...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Behörigheter...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Kopiera nyckelnamn", ID_EDIT_COPYKEYNAME MENUITEM "&Kopiera nyckelnamn", ID_EDIT_COPYKEYNAME
END END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Visa nivå" IDS_EXPAND "&Visa nivå"
IDS_COLLAPSE "&Dölj nivå" IDS_COLLAPSE "&Dölj nivå"
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
IDS_FINISHEDFIND "Slutfört sökningen av registret." IDS_FINISHEDFIND "Slutfört sökningen av registret."
END END

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "&Rename", ID_TREE_RENAME MENUITEM "&Rename", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Export", ID_TREE_EXPORT MENUITEM "&Export", ID_TREE_EXPORT
MENUITEM "&Permissions...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Permissions...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME MENUITEM "&Copy Key Name", ID_EDIT_COPYKEYNAME
END END
@ -390,7 +390,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Expand" IDS_EXPAND "&Expand"
IDS_COLLAPSE "&Collapse" IDS_COLLAPSE "&Collapse"
IDS_GOTO_SUGGESTED_KEY "&Go to '%s'"
IDS_FINISHEDFIND "Finished searching through the registry." IDS_FINISHEDFIND "Finished searching through the registry."
END END

View file

@ -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ğlan...", ID_REGISTRY_CONNECTNETWORKREGISTRY
MENUITEM "Ağ&daki Değer Defteri'ne Bağlantıyı Kes...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED MENUITEM "Ağ&daki Değer Defteri'ne Bağlantıyı Kes...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
MENUITEM SEPARATOR 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 SEPARATOR
MENUITEM "&Çıkış", ID_REGISTRY_EXIT MENUITEM "&Çıkış", ID_REGISTRY_EXIT
END END
@ -60,12 +60,12 @@ BEGIN
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&İzinler...", ID_EDIT_PERMISSIONS MENUITEM "&İzinler...", ID_EDIT_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Sil\tSil", ID_EDIT_DELETE MENUITEM "&Sil\tDel", ID_EDIT_DELETE
MENUITEM "&Adını Değiştir", ID_EDIT_RENAME MENUITEM "&Adını Değiştir", ID_EDIT_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Di&zin Yolunu Çoğalt", ID_EDIT_COPYKEYNAME MENUITEM "Di&zin Yolunu Çoğalt", ID_EDIT_COPYKEYNAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Bul...\tDenetim+F", ID_EDIT_FIND MENUITEM "&Bul...\tCtrl+F", ID_EDIT_FIND
MENUITEM "S&onrakini Bul\tF3...", ID_EDIT_FINDNEXT MENUITEM "S&onrakini Bul\tF3...", ID_EDIT_FINDNEXT
END END
POPUP "&Görünüm" POPUP "&Görünüm"
@ -96,7 +96,7 @@ BEGIN
MENUITEM "&Değiştir...", ID_EDIT_MODIFY MENUITEM "&Değiştir...", ID_EDIT_MODIFY
MENUITEM "&İkili Veriyi Değiştir...", ID_EDIT_MODIFY_BIN MENUITEM "&İkili Veriyi Değiştir...", ID_EDIT_MODIFY_BIN
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Sil\tSil", ID_EDIT_DELETE MENUITEM "&Sil\tDel", ID_EDIT_DELETE
MENUITEM "&Adını Değiştir", ID_EDIT_RENAME MENUITEM "&Adını Değiştir", ID_EDIT_RENAME
END END
POPUP "" POPUP ""
@ -131,7 +131,7 @@ BEGIN
MENUITEM "&Adını Değiştir", ID_TREE_RENAME MENUITEM "&Adını Değiştir", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Ver...", ID_TREE_EXPORT MENUITEM "&Ver...", ID_TREE_EXPORT
MENUITEM "&İzinler...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&İzinler...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Dizin Yolunu Çoğalt", ID_EDIT_COPYKEYNAME MENUITEM "&Dizin Yolunu Çoğalt", ID_EDIT_COPYKEYNAME
END END
@ -150,7 +150,7 @@ END
IDD_EDIT_STRING DIALOGEX 32, 24, 252, 84 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 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" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8 LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8
@ -163,7 +163,7 @@ END
IDD_EDIT_MULTI_STRING DIALOGEX 32, 24, 252, 174 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 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" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8 LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8
@ -190,7 +190,7 @@ END
IDD_EDIT_DWORD DIALOGEX 32, 24, 252, 104 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 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" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8 LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8
@ -206,7 +206,7 @@ END
IDD_EDIT_RESOURCE_LIST DIALOGEX 32, 24, 170, 120 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 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" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
CONTROL "", IDC_RESOURCE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | CONTROL "", IDC_RESOURCE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER |
@ -232,14 +232,14 @@ BEGIN
LTEXT "Giriş:", IDC_STATIC, 10, 134, 38, 8 LTEXT "Giriş:", IDC_STATIC, 10, 134, 38, 8
CONTROL "", IDC_PORT_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | CONTROL "", IDC_PORT_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER |
LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 144, 261, 31 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 | CONTROL "", IDC_DEVICE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER |
LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 188, 261, 31 LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 188, 261, 31
GROUPBOX "Kullanım", IDC_STATIC, 10, 219, 125, 39 GROUPBOX "Kullanım", IDC_STATIC, 10, 219, 125, 39
LTEXT "Belirsiz:", IDC_UNDETERMINED, 18, 230, 46, 8, WS_DISABLED LTEXT "Belirsiz:", IDC_UNDETERMINED, 18, 230, 46, 8, WS_DISABLED
LTEXT "Paylaşılan:", IDC_SHARED, 18, 240, 48, 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 "Özel 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 Sürücü", IDC_DRIVER_EXCLUSIVE, 72, 240, 54, 8, WS_DISABLED
RTEXT "Arayüz Türü:", IDC_STATIC, 144, 220, 58, 8 RTEXT "Arayüz Türü:", IDC_STATIC, 144, 220, 58, 8
LTEXT "", IDC_INTERFACETYPE, 205, 220, 66, 8 LTEXT "", IDC_INTERFACETYPE, 205, 220, 66, 8
RTEXT "Veriyolu Numarası:", IDC_STATIC, 151, 230, 51, 8 RTEXT "Veriyolu Numarası:", IDC_STATIC, 151, 230, 51, 8
@ -271,7 +271,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
ID_REGISTRY_MENU "Bütün Değer Defteri ile çalışma komutlarını içerir." 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_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_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." 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 BEGIN
ID_EDIT_MODIFY "Değerin verisini değiştirir." ID_EDIT_MODIFY "Değerin verisini değiştirir."
ID_EDIT_NEW_KEY "Yeni bir dizin ekler." 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_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_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_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." 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_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_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_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 END
STRINGTABLE STRINGTABLE
@ -302,7 +302,7 @@ BEGIN
ID_FAVOURITES_ADDTOFAVOURITES "Dizinleri yer imleri dizelgesine ekler." ID_FAVOURITES_ADDTOFAVOURITES "Dizinleri yer imleri dizelgesine ekler."
ID_FAVOURITES_REMOVEFAVOURITE "Dizinleri yer imleri dizelgesinden kaldırır." ID_FAVOURITES_REMOVEFAVOURITE "Dizinleri yer imleri dizelgesinden kaldırır."
ID_VIEW_STATUSBAR "Durum çubuğunu gösterir ya da gizler." 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_VIEW_REFRESH "Pencereyi yeniler."
ID_EDIT_DELETE "Seçileni siler." ID_EDIT_DELETE "Seçileni siler."
ID_EDIT_RENAME "Seçilenin adını değiştirir." ID_EDIT_RENAME "Seçilenin adını değiştirir."
@ -313,7 +313,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_ERROR "Yanlışlık" IDS_ERROR "Hata"
IDS_WARNING "Uyarı" IDS_WARNING "Uyarı"
IDS_BAD_KEY "Dizin sorgulanamıyor: %s" IDS_BAD_KEY "Dizin sorgulanamıyor: %s"
IDS_BAD_VALUE "Değer 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_ONE "Bu değeri silmek istediğinizden emin misiniz?"
IDS_QUERY_DELETE_MORE "Bu değerleri 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_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_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_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_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?" 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_EXPORT_REG_FILE "Değer Kütüğüne Ver"
IDS_LOAD_HIVE "Yığın Yükle" IDS_LOAD_HIVE "Yığın Yükle"
IDS_UNLOAD_HIVE "Yığını Kaldır" 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 END
STRINGTABLE STRINGTABLE
@ -359,7 +359,7 @@ BEGIN
IDS_FLT_HIVFILES_FLT "*.*" 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 "Windows 9x ve Windows NT 4.0 Türündeki Değer Kütükleri (REGEDIT4) (*.reg)"
IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_REGEDIT4_FLT "*.reg"
IDS_FLT_ALLFILES "Tüm Kütükler (*.*)" IDS_FLT_ALLFILES "Tüm Dosyalar (*.*)"
IDS_FLT_ALLFILES_FLT "*.*" IDS_FLT_ALLFILES_FLT "*.*"
END END
@ -390,16 +390,15 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Genişlet" IDS_EXPAND "&Genişlet"
IDS_COLLAPSE "&Daralt" IDS_COLLAPSE "&Daralt"
IDS_GOTO_SUGGESTED_KEY "G&it: %s"
IDS_FINISHEDFIND "Değer Defteri boyunca arama bitti." IDS_FINISHEDFIND "Değer Defteri boyunca arama bitti."
END END
STRINGTABLE STRINGTABLE
BEGIN 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_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_OK """%s"" içinde bulunan anahtar ve değerler Kayıt 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_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: 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_EXPORT_ERROR """%s"" verilemiyor: Dosyayı oluşturmada ya da dosyaya yazmada hatası. Bir disk hatası ya da bir dosya tablosu hatası olabilir."
END END
STRINGTABLE STRINGTABLE
@ -410,11 +409,11 @@ BEGIN
IDS_DMA_PORT "Giriş" IDS_DMA_PORT "Giriş"
IDS_INTERRUPT_VECTOR "Yöney" IDS_INTERRUPT_VECTOR "Yöney"
IDS_INTERRUPT_LEVEL "Düzey" IDS_INTERRUPT_LEVEL "Düzey"
IDS_INTERRUPT_AFFINITY "Benzerlik" IDS_INTERRUPT_AFFINITY "İlişki"
IDS_INTERRUPT_TYPE "Tür" IDS_INTERRUPT_TYPE "Tür"
IDS_MEMORY_ADDRESS "Fizikî Erişki" IDS_MEMORY_ADDRESS "Fizikî Erişki"
IDS_MEMORY_LENGTH "Uzunluk" IDS_MEMORY_LENGTH "Uzunluk"
IDS_MEMORY_ACCESS "Erişim" IDS_MEMORY_ACCESS "Adres"
IDS_PORT_ADDRESS "Fizikî Erişki" IDS_PORT_ADDRESS "Fizikî Erişki"
IDS_PORT_LENGTH "Uzunluk" IDS_PORT_LENGTH "Uzunluk"
IDS_PORT_ACCESS "Erişim" IDS_PORT_ACCESS "Erişim"
@ -520,7 +519,7 @@ BEGIN
WS_TABSTOP, 14, 48, 36, 8 WS_TABSTOP, 14, 48, 36, 8
CONTROL "&Değer Verileri", IDC_LOOKAT_DATA, "Button", BS_AUTOCHECKBOX | CONTROL "&Değer Verileri", IDC_LOOKAT_DATA, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 14, 60, 42, 8 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 WS_TABSTOP, 83, 32, 94, 13
CONTROL "&Büyük-Küçük Harfliği Karşılaştır", IDC_MATCHCASE, "Button", BS_AUTOCHECKBOX | CONTROL "&Büyük-Küçük Harfliği Karşılaştır", IDC_MATCHCASE, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 83, 48, 90, 12 WS_TABSTOP, 83, 48, 90, 12

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "Перей&менувати", ID_TREE_RENAME MENUITEM "Перей&менувати", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Експорт", ID_TREE_EXPORT MENUITEM "&Експорт", ID_TREE_EXPORT
MENUITEM "&Дозволи...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "&Дозволи...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Копіювати ім'я розділу", ID_EDIT_COPYKEYNAME MENUITEM "&Копіювати ім'я розділу", ID_EDIT_COPYKEYNAME
END END
@ -390,7 +390,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "&Розгорнути" IDS_EXPAND "&Розгорнути"
IDS_COLLAPSE "&Згорнути" IDS_COLLAPSE "&Згорнути"
IDS_GOTO_SUGGESTED_KEY "&Перейти до '%s'"
IDS_FINISHEDFIND "Пошук у реєстрі завершений." IDS_FINISHEDFIND "Пошук у реєстрі завершений."
END END

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "重命名(&R)", ID_TREE_RENAME MENUITEM "重命名(&R)", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "导出(&E)", ID_TREE_EXPORT MENUITEM "导出(&E)", ID_TREE_EXPORT
MENUITEM "权限(&P)...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "权限(&P)...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "复制键名(&C)", ID_EDIT_COPYKEYNAME MENUITEM "复制键名(&C)", ID_EDIT_COPYKEYNAME
END END
@ -319,7 +319,7 @@ BEGIN
IDS_BAD_VALUE "不能查询值 '%s'" IDS_BAD_VALUE "不能查询值 '%s'"
IDS_UNSUPPORTED_TYPE "不能编辑这种类型的键 (%ld)" IDS_UNSUPPORTED_TYPE "不能编辑这种类型的键 (%ld)"
IDS_TOO_BIG_VALUE "数值过大 (%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_ONE "确实要删除这个键吗?"
IDS_QUERY_DELETE_KEY_MORE "确实要删除这些键吗?" IDS_QUERY_DELETE_KEY_MORE "确实要删除这些键吗?"
IDS_QUERY_DELETE_KEY_CONFIRM "确认删除键" IDS_QUERY_DELETE_KEY_CONFIRM "确认删除键"
@ -390,7 +390,6 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "展开" IDS_EXPAND "展开"
IDS_COLLAPSE "折叠" IDS_COLLAPSE "折叠"
IDS_GOTO_SUGGESTED_KEY "转到(&G)'%s'"
IDS_FINISHEDFIND "注册表搜索完毕。" IDS_FINISHEDFIND "注册表搜索完毕。"
END END

View file

@ -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 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
@ -36,7 +36,7 @@ BEGIN
MENUITEM "載入配置單元...", ID_REGISTRY_LOADHIVE, GRAYED MENUITEM "載入配置單元...", ID_REGISTRY_LOADHIVE, GRAYED
MENUITEM "解除安裝配置單元...", ID_REGISTRY_UNLOADHIVE, GRAYED MENUITEM "解除安裝配置單元...", ID_REGISTRY_UNLOADHIVE, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "連線網路註冊表(&C)...", ID_REGISTRY_CONNECTNETWORKREGISTRY MENUITEM "連線網路登錄(&C)...", ID_REGISTRY_CONNECTNETWORKREGISTRY
MENUITEM "斷開網路註冊表(&C)...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED MENUITEM "斷開網路註冊表(&C)...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "列印(&P)...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED MENUITEM "列印(&P)...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED
@ -52,8 +52,8 @@ BEGIN
MENUITEM "項(&K)", ID_EDIT_NEW_KEY MENUITEM "項(&K)", ID_EDIT_NEW_KEY
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "字元串值(&S)", ID_EDIT_NEW_STRINGVALUE 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 "DWORD 值(&D)", ID_EDIT_NEW_DWORDVALUE
MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE
MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
END END
@ -106,7 +106,7 @@ BEGIN
MENUITEM "項(&K)", ID_EDIT_NEW_KEY MENUITEM "項(&K)", ID_EDIT_NEW_KEY
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "字元串值(&S)", ID_EDIT_NEW_STRINGVALUE 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 "DWORD 值(&D)", ID_EDIT_NEW_DWORDVALUE
MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE
MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
@ -120,7 +120,7 @@ BEGIN
MENUITEM "項(&K)", ID_EDIT_NEW_KEY MENUITEM "項(&K)", ID_EDIT_NEW_KEY
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "字元串值(&S)", ID_EDIT_NEW_STRINGVALUE 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 "DWORD 值(&D)", ID_EDIT_NEW_DWORDVALUE
MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE
MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
@ -131,7 +131,7 @@ BEGIN
MENUITEM "重新命名(&R)", ID_TREE_RENAME MENUITEM "重新命名(&R)", ID_TREE_RENAME
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "匯出(&E)", ID_TREE_EXPORT MENUITEM "匯出(&E)", ID_TREE_EXPORT
MENUITEM "許可權(&P)...", ID_TREE_PERMISSIONS, GRAYED MENUITEM "許可權(&P)...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "複製項名稱(&C)", ID_EDIT_COPYKEYNAME MENUITEM "複製項名稱(&C)", ID_EDIT_COPYKEYNAME
END END
@ -177,7 +177,7 @@ END
IDD_EDIT_BIN_DATA DIALOGEX 32, 24, 252, 174 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 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "編輯二進制數值" CAPTION "編輯二進制數值"
FONT 9, "新細明體" FONT 9, "新細明體"
BEGIN BEGIN
LTEXT "數值名稱(&N):", IDC_STATIC, 6, 6, 134, 8 LTEXT "數值名稱(&N):", IDC_STATIC, 6, 6, 134, 8
@ -198,8 +198,8 @@ BEGIN
LTEXT "數值資料(&V):", IDC_STATIC, 6, 35, 161, 8 LTEXT "數值資料(&V):", IDC_STATIC, 6, 35, 161, 8
EDITTEXT IDC_VALUE_DATA, 6, 46, 116, 12, ES_AUTOHSCROLL EDITTEXT IDC_VALUE_DATA, 6, 46, 116, 12, ES_AUTOHSCROLL
GROUPBOX "基數", IDC_STATIC, 130, 35, 116, 39 GROUPBOX "基數", IDC_STATIC, 130, 35, 116, 39
AUTORADIOBUTTON "十六進制(&H)", IDC_FORMAT_HEX, 141, 46, 60, 10, WS_GROUP AUTORADIOBUTTON "十六進制(&H)", IDC_FORMAT_HEX, 141, 46, 60, 10, WS_GROUP
AUTORADIOBUTTON "十進制(&D)", IDC_FORMAT_DEC, 141, 59, 60, 10 AUTORADIOBUTTON "十進制(&D)", IDC_FORMAT_DEC, 141, 59, 60, 10
DEFPUSHBUTTON "確定", IDOK, 142, 82, 50, 14 DEFPUSHBUTTON "確定", IDOK, 142, 82, 50, 14
PUSHBUTTON "取消", IDCANCEL, 196, 82, 50, 14 PUSHBUTTON "取消", IDCANCEL, 196, 82, 50, 14
END END
@ -270,9 +270,9 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
ID_REGISTRY_MENU "包含與整個註冊表工作相關的命令。" ID_REGISTRY_MENU "包含與整個登錄工作相關的命令。"
ID_EDIT_MENU "包含編輯值或項的命令。" ID_EDIT_MENU "包含編輯值或項的命令。"
ID_VIEW_MENU "包含自定義註冊表視窗的命令。" ID_VIEW_MENU "包含自訂登錄視窗的命令。"
ID_FAVOURITES_MENU "包含訪問常用項時所用的命令。" ID_FAVOURITES_MENU "包含訪問常用項時所用的命令。"
ID_HELP_MENU "包含顯示幫助以及註冊表編輯器有關資訊的命令。" ID_HELP_MENU "包含顯示幫助以及註冊表編輯器有關資訊的命令。"
ID_EDIT_NEW_MENU "包含創建新項或值的命令。" ID_EDIT_NEW_MENU "包含創建新項或值的命令。"
@ -285,13 +285,13 @@ BEGIN
ID_EDIT_NEW_STRINGVALUE "添加新字元串值。" ID_EDIT_NEW_STRINGVALUE "添加新字元串值。"
ID_EDIT_NEW_BINARYVALUE "添加新二進位制值。" ID_EDIT_NEW_BINARYVALUE "添加新二進位制值。"
ID_EDIT_NEW_DWORDVALUE "添加新 DWORD 值。" ID_EDIT_NEW_DWORDVALUE "添加新 DWORD 值。"
ID_REGISTRY_IMPORTREGISTRYFILE "將檔案匯入到註冊表中。" ID_REGISTRY_IMPORTREGISTRYFILE "將檔案匯入到登錄中。"
ID_REGISTRY_EXPORTREGISTRYFILE "將註冊表全部或部分匯出到檔案中。" ID_REGISTRY_EXPORTREGISTRYFILE "將登錄全部或部分匯出到檔案中。"
ID_REGISTRY_LOADHIVE "載入配置單元到註冊表中。" ID_REGISTRY_LOADHIVE "載入配置單元到註冊表中。"
ID_REGISTRY_UNLOADHIVE "從註冊表中解除安裝配置單元。" ID_REGISTRY_UNLOADHIVE "從註冊表中解除安裝配置單元。"
ID_REGISTRY_CONNECTNETWORKREGISTRY "連線到遠端計算機的註冊表。" ID_REGISTRY_CONNECTNETWORKREGISTRY "連線到遠端電腦的登錄。"
ID_REGISTRY_DISCONNECTNETWORKREGISTRY "斷開與遠端計算機註冊表的連線。" ID_REGISTRY_DISCONNECTNETWORKREGISTRY "斷開與遠端電腦登錄的連線。"
ID_REGISTRY_PRINT "列印所有或部分註冊表。" ID_REGISTRY_PRINT "列印所有或部分登錄。"
/* ID_HELP_HELPTOPICS "開啟註冊表編輯器幫助。" */ /* ID_HELP_HELPTOPICS "開啟註冊表編輯器幫助。" */
ID_HELP_ABOUT "顯示程式資訊、版本號和版權。" ID_HELP_ABOUT "顯示程式資訊、版本號和版權。"
END END
@ -319,7 +319,7 @@ BEGIN
IDS_BAD_VALUE "不能查詢值 '%s'" IDS_BAD_VALUE "不能查詢值 '%s'"
IDS_UNSUPPORTED_TYPE "不能編輯這類型的項 (%ld)" IDS_UNSUPPORTED_TYPE "不能編輯這類型的項 (%ld)"
IDS_TOO_BIG_VALUE "數值過大 (%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_ONE "確實要刪除這個項嗎?"
IDS_QUERY_DELETE_KEY_MORE "確實要刪除這些項嗎?" IDS_QUERY_DELETE_KEY_MORE "確實要刪除這些項嗎?"
IDS_QUERY_DELETE_KEY_CONFIRM "確認項刪除" IDS_QUERY_DELETE_KEY_CONFIRM "確認項刪除"
@ -342,7 +342,7 @@ BEGIN
IDS_DEFAULT_VALUE_NAME "(默認)" IDS_DEFAULT_VALUE_NAME "(默認)"
IDS_VALUE_NOT_SET "(數值未設定)" IDS_VALUE_NOT_SET "(數值未設定)"
IDS_UNKNOWN_TYPE "未知類型: (0x%lx)" IDS_UNKNOWN_TYPE "未知類型: (0x%lx)"
IDS_MY_COMPUTER "我的計算機" IDS_MY_COMPUTER "我的電腦"
IDS_IMPORT_REG_FILE "匯入註冊表檔案" IDS_IMPORT_REG_FILE "匯入註冊表檔案"
IDS_EXPORT_REG_FILE "匯出註冊表檔案" IDS_EXPORT_REG_FILE "匯出註冊表檔案"
IDS_LOAD_HIVE "載入配置單元" IDS_LOAD_HIVE "載入配置單元"
@ -355,7 +355,7 @@ BEGIN
IDS_FLT_REGFILE "註冊檔案" IDS_FLT_REGFILE "註冊檔案"
IDS_FLT_REGFILES "註冊檔案 (*.reg)" IDS_FLT_REGFILES "註冊檔案 (*.reg)"
IDS_FLT_REGFILES_FLT "*.reg" IDS_FLT_REGFILES_FLT "*.reg"
IDS_FLT_HIVFILES "註冊表配置單元檔案 (*.*)" IDS_FLT_HIVFILES "登錄 Hive 檔案 (*.*)"
IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_HIVFILES_FLT "*.*"
IDS_FLT_REGEDIT4 "Win9x/NT4 註冊檔案 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4 "Win9x/NT4 註冊檔案 (REGEDIT4) (*.reg)"
IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_REGEDIT4_FLT "*.reg"
@ -390,14 +390,13 @@ STRINGTABLE
BEGIN BEGIN
IDS_EXPAND "展開" IDS_EXPAND "展開"
IDS_COLLAPSE "摺疊" IDS_COLLAPSE "摺疊"
IDS_GOTO_SUGGESTED_KEY "轉到(&G)'%s'" IDS_FINISHEDFIND "登錄搜索完畢。"
IDS_FINISHEDFIND "註冊表搜索完畢。"
END END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_IMPORT_PROMPT "添加資訊可無意中更改或刪除值並導致元件停止正常工作。\n如果您不信任此 '%s' 中的資訊的來源,並不將其添加到註冊表。\n\n是否確實要繼續?" IDS_IMPORT_PROMPT "添加資訊可無意中更改或刪除值並導致元件停止正常工作。\n如果您不信任此 '%s' 中的資訊的來源,並不將其添加到登錄。\n\n是否確實要繼續?"
IDS_IMPORT_OK "'%s' 中包含的值和項已成功添加到註冊表。" IDS_IMPORT_OK "'%s' 中包含的值和項已成功添加到登錄。"
IDS_IMPORT_ERROR "無法將 '%s' 匯入: 開啟該檔案時出錯。可能有磁碟或檔案系統錯誤或檔案可能不存在。" IDS_IMPORT_ERROR "無法將 '%s' 匯入: 開啟該檔案時出錯。可能有磁碟或檔案系統錯誤或檔案可能不存在。"
IDS_EXPORT_ERROR "無法匯出 '%s' 創建或寫入檔案時出錯。可能有磁碟或檔案系統錯誤。" IDS_EXPORT_ERROR "無法匯出 '%s' 創建或寫入檔案時出錯。可能有磁碟或檔案系統錯誤。"
END END
@ -453,7 +452,7 @@ BEGIN
IDS_BUS_INTERNALPOWERBUS "Internal Power Bus" IDS_BUS_INTERNALPOWERBUS "Internal Power Bus"
IDS_BUS_PNPISABUS "PnP-ISA Bus" IDS_BUS_PNPISABUS "PnP-ISA Bus"
IDS_BUS_PNPBUS "PnP Bus" IDS_BUS_PNPBUS "PnP Bus"
IDS_BUS_UNKNOWNTYPE "未知的介面類型" IDS_BUS_UNKNOWNTYPE "不明介面類型"
END END
/*****************************************************************/ /*****************************************************************/
@ -533,7 +532,7 @@ FONT 9, "新細明體", 400, 0, 0x1
BEGIN BEGIN
ICON IDI_REGEDIT, IDC_STATIC, 7, 7, 20, 20 ICON IDI_REGEDIT, IDC_STATIC, 7, 7, 20, 20
DEFPUSHBUTTON "取消(&C)", IDCANCEL, 93, 29, 45, 14 DEFPUSHBUTTON "取消(&C)", IDCANCEL, 93, 29, 45, 14
LTEXT "正在搜索註冊表...", IDC_STATIC, 33, 12, 83, 8 LTEXT "正在搜索登錄...", IDC_STATIC, 33, 12, 83, 8
END END
/* String Table */ /* String Table */

View file

@ -49,7 +49,7 @@ typedef struct tagSORT_INFO
static INT g_iSortedColumn = 0; static INT g_iSortedColumn = 0;
#define MAX_LIST_COLUMNS (IDS_LIST_COLUMN_LAST - IDS_LIST_COLUMN_FIRST + 1) #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 }; static const int column_alignment[MAX_LIST_COLUMNS] = { LVCFMT_LEFT, LVCFMT_LEFT, LVCFMT_LEFT };
LPCWSTR GetValueName(HWND hwndLV, int iStartAt) 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); ListView_SetItemState(hwndLV, i, 0, LVIS_FOCUSED | LVIS_SELECTED);
} }
if (pszValueName == NULL) if (pszValueName == NULL || pszValueName[0] == 0)
i = 0; i = 0;
else else
{ {
@ -101,6 +101,7 @@ VOID SetValueName(HWND hwndLV, LPCWSTR pszValueName)
} }
ListView_SetItemState(hwndLV, i, LVIS_FOCUSED | LVIS_SELECTED, ListView_SetItemState(hwndLV, i, LVIS_FOCUSED | LVIS_SELECTED,
LVIS_FOCUSED | LVIS_SELECTED); LVIS_FOCUSED | LVIS_SELECTED);
ListView_EnsureVisible(hwndLV, i, FALSE);
iListViewSelect = i; 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]; WCHAR szText[50];
int index; int index;
@ -269,7 +270,7 @@ static BOOL CreateListColumns(HWND hWndListView)
for (index = 0; index < MAX_LIST_COLUMNS; index++) for (index = 0; index < MAX_LIST_COLUMNS; index++)
{ {
lvC.iSubItem = index; lvC.iSubItem = index;
lvC.cx = default_column_widths[index]; lvC.cx = (cxTotal * default_column_widths[index]) / 100;
lvC.fmt = column_alignment[index]; lvC.fmt = column_alignment[index];
LoadStringW(hInst, IDS_LIST_COLUMN_FIRST + index, szText, COUNT_OF(szText)); LoadStringW(hInst, IDS_LIST_COLUMN_FIRST + index, szText, COUNT_OF(szText));
if (ListView_InsertColumn(hWndListView, index, &lvC) == -1) return FALSE; 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; return TRUE;
case NM_SETFOCUS: case NM_SETFOCUS:
g_pChildWnd->nFocusPanel = 0; g_pChildWnd->nFocusPanel = 1;
break; break;
case LVN_BEGINLABELEDIT: case LVN_BEGINLABELEDIT:
Info = (NMLVDISPINFO*)lParam; Info = (NMLVDISPINFO*)lParam;
@ -627,7 +628,7 @@ BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
return FALSE; return FALSE;
} }
HWND CreateListView(HWND hwndParent, HMENU id) HWND CreateListView(HWND hwndParent, HMENU id, INT cx)
{ {
RECT rcClient; RECT rcClient;
HWND hwndLV; HWND hwndLV;
@ -641,7 +642,7 @@ HWND CreateListView(HWND hwndParent, HMENU id)
if (!hwndLV) return NULL; if (!hwndLV) return NULL;
/* Initialize the image list, and add items to the control. */ /* 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; if (!InitListViewImageLists(hwndLV)) goto fail;
return hwndLV; 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_sub_key_len;
DWORD max_val_name_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); ListView_SetItemState(hwndLV, i, 0, LVIS_FOCUSED | LVIS_SELECTED);
} }
if (bSelectNone)
iListViewSelect = -1;
ListView_SetItemState(hwndLV, iListViewSelect, ListView_SetItemState(hwndLV, iListViewSelect,
LVIS_FOCUSED | LVIS_SELECTED, LVIS_FOCUSED | LVIS_SELECTED,
LVIS_FOCUSED | LVIS_SELECTED); LVIS_FOCUSED | LVIS_SELECTED);

View file

@ -71,6 +71,7 @@ BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON), LR_SHARED); GetSystemMetrics(SM_CYSMICON), LR_SHARED);
wcFrame.hCursor = LoadCursorW(NULL, IDC_ARROW); wcFrame.hCursor = LoadCursorW(NULL, IDC_ARROW);
wcFrame.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1);
wcFrame.lpszClassName = szFrameClass; wcFrame.lpszClassName = szFrameClass;
hFrameWndClass = RegisterClassExW(&wcFrame); /* register frame window class */ hFrameWndClass = RegisterClassExW(&wcFrame); /* register frame window class */
@ -82,6 +83,7 @@ BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
wcChild.hInstance = hInstance; wcChild.hInstance = hInstance;
wcChild.hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT)); wcChild.hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT));
wcChild.hCursor = LoadCursorW(NULL, IDC_ARROW); wcChild.hCursor = LoadCursorW(NULL, IDC_ARROW);
wcChild.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1);
wcChild.lpszClassName = szChildClass; wcChild.lpszClassName = szChildClass;
wcChild.hIconSm = (HICON)LoadImageW(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT), wcChild.hIconSm = (HICON)LoadImageW(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT),
IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON),
@ -182,7 +184,7 @@ BOOL TranslateChildTabMessage(PMSG msg)
if (msg->wParam != VK_TAB) return FALSE; if (msg->wParam != VK_TAB) return FALSE;
if (GetParent(msg->hwnd) != g_pChildWnd->hWnd) 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; return TRUE;
} }

View file

@ -27,7 +27,7 @@
#define TREE_WINDOW 2002 #define TREE_WINDOW 2002
#define LIST_WINDOW 2003 #define LIST_WINDOW 2003
#define SPLIT_WIDTH 5 #define SPLIT_WIDTH 5
#define SPLIT_MIN 30 #define SPLIT_MIN 30
#define COUNT_OF(a) (sizeof(a)/sizeof(a[0])) #define COUNT_OF(a) (sizeof(a)/sizeof(a[0]))
@ -39,8 +39,6 @@
#define MAX_NEW_KEY_LEN 128 #define MAX_NEW_KEY_LEN 128
extern HINSTANCE hInst;
/******************************************************************************/ /******************************************************************************/
enum OPTION_FLAGS enum OPTION_FLAGS
@ -86,66 +84,69 @@ extern WCHAR szChildClass[];
extern const WCHAR g_szGeneralRegKey[]; extern const WCHAR g_szGeneralRegKey[];
/* about.c */ /* about.c */
extern void ShowAboutBox(HWND hWnd); void ShowAboutBox(HWND hWnd);
/* childwnd.c */ /* childwnd.c */
extern LRESULT CALLBACK ChildWndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK ChildWndProc(HWND, UINT, WPARAM, LPARAM);
extern void ResizeWnd(int cx, int cy); void ResizeWnd(int cx, int cy);
extern LPCWSTR get_root_key_name(HKEY hRootKey); 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 */ /* error.c */
extern int ErrorMessageBox(HWND hWnd, LPCWSTR lpTitle, DWORD dwErrorCode, ...); int ErrorMessageBox(HWND hWnd, LPCWSTR lpTitle, DWORD dwErrorCode, ...);
extern int InfoMessageBox(HWND hWnd, UINT uType, LPCWSTR lpTitle, LPCWSTR lpMessage, ...); int InfoMessageBox(HWND hWnd, UINT uType, LPCWSTR lpTitle, LPCWSTR lpMessage, ...);
/* find.c */ /* find.c */
extern void FindDialog(HWND hWnd); void FindDialog(HWND hWnd);
extern BOOL FindNext(HWND hWnd); BOOL FindNext(HWND hWnd);
void FindNextMessageBox(HWND hWnd);
/* framewnd.c */ /* framewnd.c */
extern LRESULT CALLBACK FrameWndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK FrameWndProc(HWND, UINT, WPARAM, LPARAM);
extern void SetupStatusBar(HWND hWnd, BOOL bResize); void SetupStatusBar(HWND hWnd, BOOL bResize);
extern void UpdateStatusBar(void); void UpdateStatusBar(void);
extern BOOL CopyKeyName(HWND hWnd, HKEY hRootKey, LPCWSTR keyName); BOOL CopyKeyName(HWND hWnd, HKEY hRootKey, LPCWSTR keyName);
extern BOOL ExportRegistryFile(HWND hWnd); BOOL ExportRegistryFile(HWND hWnd);
/* listview.c */ /* listview.c */
extern HWND CreateListView(HWND hwndParent, HMENU id); HWND CreateListView(HWND hwndParent, HMENU id, INT cx);
extern BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath); BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath, BOOL bSelectNone);
extern LPCWSTR GetValueName(HWND hwndLV, int iStartAt); LPCWSTR GetValueName(HWND hwndLV, int iStartAt);
extern BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result); BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result);
extern BOOL IsDefaultValue(HWND hwndLV, int i); BOOL TreeWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result);
BOOL IsDefaultValue(HWND hwndLV, int i);
/* regedit.c */ /* regedit.c */
LPCWSTR getAppName(void); 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 */ /* 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 */ /* settings.c */
extern void LoadSettings(void); void LoadSettings(void);
extern void SaveSettings(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 */ /* EOF */

View file

@ -8,6 +8,7 @@
#include <shlwapi.h> #include <shlwapi.h>
#include <stdio.h> #include <stdio.h>
#include <aclapi.h> #include <aclapi.h>
#include <strsafe.h>
#include "main.h" #include "main.h"
#include "regproc.h" #include "regproc.h"

View file

@ -33,9 +33,6 @@
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL 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_STRING ICON "res/string.ico"
IDI_BIN ICON "res/bin.ico" IDI_BIN ICON "res/bin.ico"
IDI_REGEDIT ICON "res/regedit.ico" IDI_REGEDIT ICON "res/regedit.ico"

View file

@ -851,9 +851,15 @@ static void processRegLinesW(FILE *in)
if(*s_eol == '\r' && *(s_eol+1) == '\n') if(*s_eol == '\r' && *(s_eol+1) == '\n')
NextLine++; NextLine++;
while(*(NextLine+1) == ' ' || *(NextLine+1) == '\t') while(isspaceW(*NextLine))
NextLine++; NextLine++;
if (!*NextLine)
{
s = NextLine;
break;
}
MoveMemory(s_eol - 1, NextLine, (CharsInBuf - (NextLine - s) + 1)*sizeof(WCHAR)); MoveMemory(s_eol - 1, NextLine, (CharsInBuf - (NextLine - s) + 1)*sizeof(WCHAR));
CharsInBuf -= NextLine - s_eol + 1; CharsInBuf -= NextLine - s_eol + 1;
s_eol = 0; s_eol = 0;
@ -1386,7 +1392,7 @@ BOOL export_registry_key(WCHAR *file_name, WCHAR *reg_key_name, DWORD format)
if (file) { if (file) {
fclose(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_name_buf);
HeapFree(GetProcessHeap(), 0, val_buf); HeapFree(GetProcessHeap(), 0, val_buf);
HeapFree(GetProcessHeap(), 0, line_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

View file

@ -39,9 +39,6 @@
#define IDC_REGEDIT_FRAME 110 #define IDC_REGEDIT_FRAME 110
#define IDR_REGEDIT_MENU 130 #define IDR_REGEDIT_MENU 130
#define IDD_EXPORTRANGE 131 #define IDD_EXPORTRANGE 131
#define IDI_OPEN_FILE 132
#define IDI_CLOSED_FILE 133
#define IDI_ROOT 134
#define IDI_STRING 135 #define IDI_STRING 135
#define IDI_BIN 136 #define IDI_BIN 136
#define IDR_POPUP_MENUS 137 #define IDR_POPUP_MENUS 137
@ -155,8 +152,6 @@
#define IDS_QUERY_DELETE_KEY_ONE 32875 #define IDS_QUERY_DELETE_KEY_ONE 32875
#define IDS_QUERY_DELETE_KEY_MORE 32876 #define IDS_QUERY_DELETE_KEY_MORE 32876
#define IDS_QUERY_DELETE_KEY_CONFIRM 32877 #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_EXPORT 32888
#define ID_TREE_PERMISSIONS 32889 #define ID_TREE_PERMISSIONS 32889
@ -190,7 +185,6 @@
#define IDS_COLLAPSE 31204 #define IDS_COLLAPSE 31204
#define IDS_NEW_KEY 31205 #define IDS_NEW_KEY 31205
#define IDS_NEW_VALUE 31206 #define IDS_NEW_VALUE 31206
#define IDS_GOTO_SUGGESTED_KEY 31207
#define IDS_IMPORT_PROMPT 31300 #define IDS_IMPORT_PROMPT 31300
#define IDS_IMPORT_OK 31301 #define IDS_IMPORT_OK 31301

View file

@ -20,12 +20,11 @@
*/ */
#include "regedit.h" #include "regedit.h"
#include <strsafe.h>
const WCHAR g_szGeneralRegKey[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Regedit"; const WCHAR g_szGeneralRegKey[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Regedit";
DECLSPEC_IMPORT ULONG WINAPIV DbgPrint(PCH Format,...); DECLSPEC_IMPORT ULONG WINAPIV DbgPrint(PCH Format,...);
/* /*
VV,VV,VV,VV,WA,WA,WA,WA,WB,WB,WB,WB,R1,R1,R1,R1 VV,VV,VV,VV,WA,WA,WA,WA,WB,WB,WB,WB,R1,R1,R1,R1
R2,R2,R2,R2,R3,R3,R3,R3,R4,R4,R4,r4,LL,LL,LL,LL R2,R2,R2,R2,R3,R3,R3,R3,R4,R4,R4,r4,LL,LL,LL,LL
TT,TT,TT,TT,RR,RR,RR,RR,BB,BB,BB,BB,SS,SS,SS,SS TT,TT,TT,TT,RR,RR,RR,RR,BB,BB,BB,BB,SS,SS,SS,SS

View file

@ -32,6 +32,10 @@ static LPWSTR pathBuffer;
#define NUM_ICONS 3 #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) static BOOL get_item_path(HWND hwndTV, HTREEITEM hItem, HKEY* phKey, LPWSTR* pKeyPath, int* pPathLen, int* pMaxLen)
{ {
TVITEMW item; TVITEMW item;
@ -439,23 +443,20 @@ static BOOL InitTreeViewImageLists(HWND hwndTV)
{ {
HIMAGELIST himl; /* handle to image list */ HIMAGELIST himl; /* handle to image list */
HICON hico; /* handle to icon */ 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. */ /* Create the image list. */
if ((himl = ImageList_Create(GetSystemMetrics(SM_CXSMICON), if ((himl = ImageList_Create(cx, cy, ILC_MASK | ILC_COLOR32, 0, NUM_ICONS)) == NULL)
GetSystemMetrics(SM_CYSMICON),
ILC_MASK | ILC_COLOR32,
0,
NUM_ICONS)) == NULL)
{
return FALSE; return FALSE;
}
/* Add the open file, closed file, and document bitmaps. */ /* Add the open file, closed file, and document bitmaps. */
hico = LoadImageW(hInst, hico = LoadImageW(hShell32,
MAKEINTRESOURCEW(IDI_OPEN_FILE), MAKEINTRESOURCEW(IDI_SHELL_FOLDER_OPEN),
IMAGE_ICON, IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON), cx,
GetSystemMetrics(SM_CYSMICON), cy,
0); 0);
if (hico) if (hico)
{ {
@ -463,11 +464,11 @@ static BOOL InitTreeViewImageLists(HWND hwndTV)
DestroyIcon(hico); DestroyIcon(hico);
} }
hico = LoadImageW(hInst, hico = LoadImageW(hShell32,
MAKEINTRESOURCEW(IDI_CLOSED_FILE), MAKEINTRESOURCEW(IDI_SHELL_FOLDER),
IMAGE_ICON, IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON), cx,
GetSystemMetrics(SM_CYSMICON), cy,
0); 0);
if (hico) if (hico)
{ {
@ -475,11 +476,11 @@ static BOOL InitTreeViewImageLists(HWND hwndTV)
DestroyIcon(hico); DestroyIcon(hico);
} }
hico = LoadImageW(hInst, hico = LoadImageW(hShell32,
MAKEINTRESOURCEW(IDI_ROOT), MAKEINTRESOURCEW(IDI_SHELL_MY_COMPUTER),
IMAGE_ICON, IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON), cx,
GetSystemMetrics(SM_CYSMICON), cy,
0); 0);
if (hico) if (hico)
{ {
@ -625,6 +626,98 @@ done:
return bSuccess; 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. * CreateTreeView - creates a tree view control.
@ -687,8 +780,13 @@ BOOL SelectNode(HWND hwndTV, LPCWSTR keyPath)
while(keyPath[0]) while(keyPath[0])
{ {
size_t copyLength;
s = wcschr(keyPath, L'\\'); 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 */ /* Special case for root to expand root key abbreviations */
if (hItem == hRoot) if (hItem == hRoot)