[0.4.13][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

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:42:19 +02:00
parent f50a9cc265
commit 45060d9f1e
49 changed files with 445 additions and 650 deletions

View file

@ -26,7 +26,7 @@ void ShowAboutBox(HWND hWnd)
{
WCHAR AppStr[255];
LoadStringW(hInst, IDS_APP_TITLE, AppStr, COUNT_OF(AppStr));
ShellAboutW(hWnd, AppStr, L"", LoadIconW(hInst, MAKEINTRESOURCEW(IDI_REGEDIT)));
ShellAboutW(hWnd, AppStr, NULL, LoadIconW(hInst, MAKEINTRESOURCEW(IDI_REGEDIT)));
}
/* EOF */

View file

@ -24,7 +24,6 @@ ChildWnd* g_pChildWnd;
static int last_split;
HBITMAP SizingPattern = 0;
HBRUSH SizingBrush = 0;
static WCHAR Suggestions[256];
extern LPCWSTR get_root_key_name(HKEY hRootKey)
{
@ -129,172 +128,6 @@ static void finish_splitbar(HWND hWnd, int x)
ReleaseCapture();
}
/*******************************************************************************
*
* FUNCTION: ChildWnd_CmdWndProc(HWND, unsigned, WORD, LONG)
*
* PURPOSE: Processes WM_COMMAND messages for the main frame window.
*
*/
static BOOL ChildWnd_CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HTREEITEM hSelection;
HKEY hRootKey;
LPCWSTR keyPath, s;
WORD wID = LOWORD(wParam);
UNREFERENCED_PARAMETER(message);
switch (wID)
{
/* Parse the menu selections: */
case ID_REGISTRY_EXIT:
DestroyWindow(hWnd);
break;
case ID_VIEW_REFRESH:
/* TODO */
break;
case ID_TREE_EXPANDBRANCH:
TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_EXPAND);
break;
case ID_TREE_COLLAPSEBRANCH:
TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_COLLAPSE);
break;
case ID_TREE_RENAME:
SetFocus(g_pChildWnd->hTreeWnd);
TreeView_EditLabel(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd));
break;
case ID_TREE_DELETE:
hSelection = TreeView_GetSelection(g_pChildWnd->hTreeWnd);
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, hSelection, &hRootKey);
if (keyPath == 0 || *keyPath == 0)
{
MessageBeep(MB_ICONHAND);
}
else if (DeleteKey(hWnd, hRootKey, keyPath))
DeleteNode(g_pChildWnd->hTreeWnd, 0);
break;
case ID_TREE_EXPORT:
ExportRegistryFile(g_pChildWnd->hTreeWnd);
break;
case ID_EDIT_FIND:
FindDialog(hWnd);
break;
case ID_EDIT_COPYKEYNAME:
hSelection = TreeView_GetSelection(g_pChildWnd->hTreeWnd);
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, hSelection, &hRootKey);
CopyKeyName(hWnd, hRootKey, keyPath);
break;
case ID_EDIT_NEW_KEY:
CreateNewKey(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd));
break;
case ID_EDIT_NEW_STRINGVALUE:
case ID_EDIT_NEW_BINARYVALUE:
case ID_EDIT_NEW_DWORDVALUE:
SendMessageW(hFrameWnd, WM_COMMAND, wParam, lParam);
break;
case ID_SWITCH_PANELS:
g_pChildWnd->nFocusPanel = !g_pChildWnd->nFocusPanel;
SetFocus(g_pChildWnd->nFocusPanel? g_pChildWnd->hListWnd: g_pChildWnd->hTreeWnd);
break;
default:
if ((wID >= ID_TREE_SUGGESTION_MIN) && (wID <= ID_TREE_SUGGESTION_MAX))
{
s = Suggestions;
while(wID > ID_TREE_SUGGESTION_MIN)
{
if (*s)
s += wcslen(s) + 1;
wID--;
}
SelectNode(g_pChildWnd->hTreeWnd, s);
break;
}
return FALSE;
}
return TRUE;
}
/*******************************************************************************
*
* Key suggestion
*/
#define MIN(a,b) ((a < b) ? (a) : (b))
static void SuggestKeys(HKEY hRootKey, LPCWSTR pszKeyPath, LPWSTR pszSuggestions,
size_t iSuggestionsLength)
{
WCHAR szBuffer[256];
WCHAR szLastFound[256];
size_t i;
HKEY hOtherKey, hSubKey;
BOOL bFound;
memset(pszSuggestions, 0, iSuggestionsLength * sizeof(*pszSuggestions));
iSuggestionsLength--;
/* Are we a root key in HKEY_CLASSES_ROOT? */
if ((hRootKey == HKEY_CLASSES_ROOT) && pszKeyPath[0] && !wcschr(pszKeyPath, L'\\'))
{
do
{
bFound = FALSE;
/* Check default key */
if (QueryStringValue(hRootKey, pszKeyPath, NULL,
szBuffer, COUNT_OF(szBuffer)) == ERROR_SUCCESS)
{
/* Sanity check this key; it cannot be empty, nor can it be a
* loop back */
if ((szBuffer[0] != L'\0') && _wcsicmp(szBuffer, pszKeyPath))
{
if (RegOpenKeyW(hRootKey, szBuffer, &hOtherKey) == ERROR_SUCCESS)
{
lstrcpynW(pszSuggestions, L"HKCR\\", (int) iSuggestionsLength);
i = wcslen(pszSuggestions);
pszSuggestions += i;
iSuggestionsLength -= i;
lstrcpynW(pszSuggestions, szBuffer, (int) iSuggestionsLength);
i = MIN(wcslen(pszSuggestions) + 1, iSuggestionsLength);
pszSuggestions += i;
iSuggestionsLength -= i;
RegCloseKey(hOtherKey);
bFound = TRUE;
wcscpy(szLastFound, szBuffer);
pszKeyPath = szLastFound;
}
}
}
}
while(bFound && (iSuggestionsLength > 0));
/* Check CLSID key */
if (RegOpenKeyW(hRootKey, pszKeyPath, &hSubKey) == ERROR_SUCCESS)
{
if (QueryStringValue(hSubKey, L"CLSID", NULL, szBuffer,
COUNT_OF(szBuffer)) == ERROR_SUCCESS)
{
lstrcpynW(pszSuggestions, L"HKCR\\CLSID\\", (int)iSuggestionsLength);
i = wcslen(pszSuggestions);
pszSuggestions += i;
iSuggestionsLength -= i;
lstrcpynW(pszSuggestions, szBuffer, (int)iSuggestionsLength);
i = MIN(wcslen(pszSuggestions) + 1, iSuggestionsLength);
pszSuggestions += i;
iSuggestionsLength -= i;
}
RegCloseKey(hSubKey);
}
}
}
LRESULT CALLBACK AddressBarProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
WNDPROC oldwndproc;
@ -316,11 +149,12 @@ LRESULT CALLBACK AddressBarProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPar
return CallWindowProcW(oldwndproc, hwnd, uMsg, wParam, lParam);
}
static VOID
UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath)
VOID
UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath, BOOL bSelectNone)
{
LPCWSTR keyPath, rootName;
LPWSTR fullPath;
DWORD cbFullPath;
/* Wipe the listview, the status bar and the address bar if the root key was selected */
if (TreeView_GetParent(g_pChildWnd->hTreeWnd, hItem) == NULL)
@ -338,35 +172,36 @@ UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath)
if (keyPath)
{
RefreshListView(g_pChildWnd->hListWnd, hRootKey, keyPath);
RefreshListView(g_pChildWnd->hListWnd, hRootKey, keyPath, bSelectNone);
rootName = get_root_key_name(hRootKey);
fullPath = HeapAlloc(GetProcessHeap(), 0, (wcslen(rootName) + 1 + wcslen(keyPath) + 1) * sizeof(WCHAR));
cbFullPath = (wcslen(rootName) + 1 + wcslen(keyPath) + 1) * sizeof(WCHAR);
fullPath = malloc(cbFullPath);
if (fullPath)
{
/* set (correct) the address bar text */
if (keyPath[0] != L'\0')
swprintf(fullPath, L"%s\\%s", rootName, keyPath);
swprintf(fullPath, L"%s%s%s", rootName, keyPath[0]==L'\\'?L"":L"\\", keyPath);
else
fullPath = wcscpy(fullPath, rootName);
SendMessageW(hStatusBar, SB_SETTEXTW, 0, (LPARAM)fullPath);
SendMessageW(g_pChildWnd->hAddressBarWnd, WM_SETTEXT, 0, (LPARAM)fullPath);
HeapFree(GetProcessHeap(), 0, fullPath);
free(fullPath);
/* disable hive manipulation items temporarily (enable only if necessary) */
EnableMenuItem(GetSubMenu(hMenuFrame,0), ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(GetSubMenu(hMenuFrame,0), ID_REGISTRY_UNLOADHIVE, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(hMenuFrame, ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(hMenuFrame, ID_REGISTRY_UNLOADHIVE, MF_BYCOMMAND | MF_GRAYED);
/* compare the strings to see if we should enable/disable the "Load Hive" menus accordingly */
if (!(_wcsicmp(rootName, L"HKEY_LOCAL_MACHINE") &&
_wcsicmp(rootName, L"HKEY_USERS")))
if (_wcsicmp(rootName, L"HKEY_LOCAL_MACHINE") != 0 ||
_wcsicmp(rootName, L"HKEY_USERS") != 0)
{
/*
* enable the unload menu item if at the root, otherwise
* enable the load menu item if there is no slash in
* keyPath (ie. immediate child selected)
*/
if(keyPath[0] == L'\0')
EnableMenuItem(GetSubMenu(hMenuFrame,0), ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_ENABLED);
if (keyPath[0] == UNICODE_NULL)
EnableMenuItem(hMenuFrame, ID_REGISTRY_LOADHIVE, MF_BYCOMMAND | MF_ENABLED);
else if(!wcschr(keyPath, L'\\'))
EnableMenuItem(GetSubMenu(hMenuFrame,0), ID_REGISTRY_UNLOADHIVE, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(hMenuFrame, ID_REGISTRY_UNLOADHIVE, MF_BYCOMMAND | MF_ENABLED);
}
}
}
@ -439,11 +274,6 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
{
PostMessageW(g_pChildWnd->hAddressBarWnd, WM_KEYUP, VK_RETURN, 0);
}
if (!ChildWnd_CmdWndProc(hWnd, message, wParam, lParam))
{
goto def;
}
break;
case WM_SETCURSOR:
if (LOWORD(lParam) == HTCLIENT)
@ -554,107 +384,26 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
break;
case WM_NOTIFY:
if ((int)wParam == TREE_WINDOW && g_pChildWnd != NULL)
if (g_pChildWnd == NULL) break;
if (((LPNMHDR)lParam)->idFrom == TREE_WINDOW)
{
switch (((LPNMHDR)lParam)->code)
{
case TVN_ITEMEXPANDING:
return !OnTreeExpanding(g_pChildWnd->hTreeWnd, (NMTREEVIEW*)lParam);
case TVN_SELCHANGED:
{
NMTREEVIEW* pnmtv = (NMTREEVIEW*)lParam;
/* Get the parent of the current item */
HTREEITEM hParentItem = TreeView_GetParent(g_pChildWnd->hTreeWnd, pnmtv->itemNew.hItem);
if (!TreeWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
goto def;
UpdateAddress(pnmtv->itemNew.hItem, NULL, NULL);
/*
* Disable Delete/Rename menu options for 'My Computer' (first item so doesn't have any parent)
* and HKEY_* keys (their parent is 'My Computer' and the previous remark applies).
*/
if (!hParentItem || !TreeView_GetParent(g_pChildWnd->hTreeWnd, hParentItem))
{
EnableMenuItem(hMenuFrame , ID_EDIT_DELETE, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(hMenuFrame , ID_EDIT_RENAME, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(hPopupMenus, ID_TREE_DELETE, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(hPopupMenus, ID_TREE_RENAME, MF_BYCOMMAND | MF_GRAYED);
}
else
{
EnableMenuItem(hMenuFrame , ID_EDIT_DELETE, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(hMenuFrame , ID_EDIT_RENAME, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(hPopupMenus, ID_TREE_DELETE, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(hPopupMenus, ID_TREE_RENAME, MF_BYCOMMAND | MF_ENABLED);
}
break;
}
case NM_SETFOCUS:
g_pChildWnd->nFocusPanel = 0;
break;
case TVN_BEGINLABELEDIT:
{
LPNMTVDISPINFO ptvdi;
/* cancel label edit for rootkeys */
ptvdi = (LPNMTVDISPINFO) lParam;
if (!TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem) ||
!TreeView_GetParent(g_pChildWnd->hTreeWnd, TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem)))
return TRUE;
break;
}
case TVN_ENDLABELEDIT:
{
LPCWSTR keyPath;
HKEY hRootKey;
HKEY hKey = NULL;
LPNMTVDISPINFO ptvdi;
LONG lResult = TRUE;
WCHAR szBuffer[MAX_PATH];
ptvdi = (LPNMTVDISPINFO) lParam;
if (ptvdi->item.pszText)
{
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem), &hRootKey);
_snwprintf(szBuffer, COUNT_OF(szBuffer), L"%s\\%s", keyPath, ptvdi->item.pszText);
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, ptvdi->item.hItem, &hRootKey);
if (RegOpenKeyExW(hRootKey, szBuffer, 0, KEY_READ, &hKey) == ERROR_SUCCESS)
{
lResult = FALSE;
RegCloseKey(hKey);
TreeView_EditLabel(g_pChildWnd->hTreeWnd, ptvdi->item.hItem);
}
else
{
if (RenameKey(hRootKey, keyPath, ptvdi->item.pszText) != ERROR_SUCCESS)
lResult = FALSE;
else
UpdateAddress(ptvdi->item.hItem, hRootKey, szBuffer);
}
return lResult;
}
}
default:
return 0;
}
return Result;
}
else
{
if ((int)wParam == LIST_WINDOW && g_pChildWnd != NULL)
if (((LPNMHDR)lParam)->idFrom == LIST_WINDOW)
{
switch (((LPNMHDR)lParam)->code)
{
case NM_SETFOCUS:
g_pChildWnd->nFocusPanel = 1;
break;
default:
if(!ListWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
{
goto def;
}
return Result;
break;
}
if (!ListWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
goto def;
return Result;
}
else
goto def;
}
break;
@ -708,13 +457,8 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
HMENU hContextMenu;
TVITEMW item;
MENUITEMINFOW mii;
WCHAR resource[256];
WCHAR buffer[256];
LPWSTR s;
LPCWSTR keyPath;
HKEY hRootKey;
int iLastPos;
WORD wID;
BOOL isRoot;
pt.x = (short) LOWORD(lParam);
pt.y = (short) HIWORD(lParam);
@ -744,9 +488,16 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
if (hti.flags & TVHT_ONITEM)
{
hContextMenu = GetSubMenu(hPopupMenus, PM_TREECONTEXT);
TreeView_SelectItem(g_pChildWnd->hTreeWnd, hti.hItem);
isRoot = (TreeView_GetParent(g_pChildWnd->hTreeWnd, hti.hItem) == NULL);
hContextMenu = GetSubMenu(hPopupMenus, PM_TREECONTEXT);
/* idx1 'New' PopupMenu */
EnableMenuItem(hContextMenu, 1, isRoot? MF_BYPOSITION|MF_DISABLED|MF_GRAYED : MF_BYPOSITION|MF_ENABLED);
/* idx8 'Permissions' */
EnableMenuItem(hContextMenu, 8, isRoot? MF_BYPOSITION|MF_DISABLED|MF_GRAYED : MF_BYPOSITION|MF_ENABLED);
memset(&item, 0, sizeof(item));
item.mask = TVIF_STATE | TVIF_CHILDREN;
item.hItem = hti.hItem;
@ -761,49 +512,7 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
mii.wID = (item.state & TVIS_EXPANDED) ? ID_TREE_COLLAPSEBRANCH : ID_TREE_EXPANDBRANCH;
mii.dwTypeData = (LPWSTR) buffer;
SetMenuItemInfo(hContextMenu, 0, TRUE, &mii);
/* Remove any existing suggestions */
memset(&mii, 0, sizeof(mii));
mii.cbSize = sizeof(mii);
mii.fMask = MIIM_ID;
GetMenuItemInfo(hContextMenu, GetMenuItemCount(hContextMenu) - 1, TRUE, &mii);
if ((mii.wID >= ID_TREE_SUGGESTION_MIN) && (mii.wID <= ID_TREE_SUGGESTION_MAX))
{
do
{
iLastPos = GetMenuItemCount(hContextMenu) - 1;
GetMenuItemInfo(hContextMenu, iLastPos, TRUE, &mii);
RemoveMenu(hContextMenu, iLastPos, MF_BYPOSITION);
}
while((mii.wID >= ID_TREE_SUGGESTION_MIN) && (mii.wID <= ID_TREE_SUGGESTION_MAX));
}
/* Come up with suggestions */
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, NULL, &hRootKey);
SuggestKeys(hRootKey, keyPath, Suggestions, COUNT_OF(Suggestions));
if (Suggestions[0])
{
AppendMenu(hContextMenu, MF_SEPARATOR, 0, NULL);
LoadStringW(hInst, IDS_GOTO_SUGGESTED_KEY, resource, COUNT_OF(resource));
s = Suggestions;
wID = ID_TREE_SUGGESTION_MIN;
while(*s && (wID <= ID_TREE_SUGGESTION_MAX))
{
_snwprintf(buffer, COUNT_OF(buffer), resource, s);
memset(&mii, 0, sizeof(mii));
mii.cbSize = sizeof(mii);
mii.fMask = MIIM_STRING | MIIM_ID;
mii.wID = wID++;
mii.dwTypeData = buffer;
InsertMenuItem(hContextMenu, GetMenuItemCount(hContextMenu), TRUE, &mii);
s += wcslen(s) + 1;
}
}
TrackPopupMenu(hContextMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, g_pChildWnd->hWnd, NULL);
TrackPopupMenu(hContextMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, hFrameWnd, NULL);
}
}
break;

View file

@ -10,13 +10,13 @@ BEGIN
CHECKBOX "&Batas", 1713, 10, 30, 34, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "&Urut", 1705, 10, 40, 26, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "Berita&hu", 1706, 10, 50, 32, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "V&ert. Bar Gulung", 1707, 10, 60, 64, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "&Multipel Pilihan", -1, 79, 20, 72, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP | WS_DISABLED
CHECKBOX "&Vert. Bar Gulung", 1707, 10, 60, 64, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "Mu&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 "&Popout Headings", 1714, 79, 40, 68, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "&Springy Kolom", 1715, 79, 50, 66, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "&Judul Popout", 1714, 79, 40, 68, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "&Kolom kenyal", 1715, 79, 50, 66, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
GROUPBOX "Gaya Dasar", -1, 6, 80, 158, 34
CHECKBOX "&Terlihat", 1701, 10, 92, 34, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "T&erlihat", 1701, 10, 92, 34, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "&Dimatikan", 1702, 10, 102, 41, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "&Grup", 1703, 79, 92, 32, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "&Tab Henti", 1704, 79, 102, 44, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP

View file

@ -3,7 +3,7 @@
* caemyr@gmail.com
* https://sourceforge.net/projects/reactospl
* 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

View file

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

View file

@ -4,10 +4,10 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
IDD_COLUMNLISTBOXSTYLES DIALOGEX 0, 0, 227, 215
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Dikeçli Dizelge Kutusu Biçimleri"
CAPTION "Sütun Listesi Kutusu Biçimleri"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
GROUPBOX "Dikeçli Dizelge Kutusu Biçimleri", -1, 6, 7, 158, 71
GROUPBOX "Sütün Listesi Kutusu Biçimleri", -1, 6, 7, 158, 71
CHECKBOX "&Ölçünlü", 1710, 10, 20, 42, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "&Hudut", 1713, 10, 30, 34, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "&Diz", 1705, 10, 40, 26, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
@ -16,8 +16,8 @@ BEGIN
CHECKBOX "&Çoklu Seçim", -1, 79, 20, 72, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP | WS_DISABLED
CHECKBOX "&Genişletilmiş Seçim", -1, 79, 30, 77, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP | WS_DISABLED
CHECKBOX "&Açılan Başlıklar", 1714, 79, 40, 68, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "&Esnek Dikeçler", 1715, 79, 50, 66, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
GROUPBOX "Başlıca Biçimler", -1, 6, 80, 158, 34
CHECKBOX "&Esnek Sütunlar", 1715, 79, 50, 66, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
GROUPBOX "Temel Biçimler", -1, 6, 80, 158, 34
CHECKBOX "Gö&rünür", 1701, 10, 92, 34, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "Edi&lgin", 1702, 10, 102, 41, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
CHECKBOX "Öbe&kleme", 1703, 79, 92, 32, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP

View file

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

View file

@ -33,24 +33,16 @@
static WCHAR s_szFavoritesRegKey[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Regedit\\Favorites";
static BOOL bInMenuLoop = FALSE; /* Tells us if we are in the menu loop */
/*******************************************************************************
* Local module support methods
*/
static void resize_frame_rect(HWND hWnd, PRECT prect)
{
RECT rt;
/*
if (IsWindowVisible(hToolBar)) {
SendMessageW(hToolBar, WM_SIZE, 0, 0);
GetClientRect(hToolBar, &rt);
prect->top = rt.bottom+3;
prect->bottom -= rt.bottom+3;
}
*/
if (IsWindowVisible(hStatusBar))
{
RECT rt;
SetupStatusBar(hWnd, TRUE);
GetWindowRect(hStatusBar, &rt);
prect->bottom -= rt.bottom - rt.top;
@ -287,7 +279,7 @@ static BOOL InitOpenFileName(HWND hWnd, OPENFILENAME* pofn)
pofn->nMaxFile = _MAX_PATH;
pofn->lpstrFileTitle = FileTitleBuffer;
pofn->nMaxFileTitle = _MAX_PATH;
pofn->Flags = OFN_HIDEREADONLY;
pofn->Flags = OFN_EXPLORER | OFN_HIDEREADONLY;
pofn->lpstrDefExt = L"reg";
return TRUE;
}
@ -389,7 +381,7 @@ static BOOL LoadHive(HWND hWnd)
/* refresh tree and list views */
RefreshTreeView(g_pChildWnd->hTreeWnd);
pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hRootKey);
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath);
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath, TRUE);
}
else
{
@ -427,7 +419,7 @@ static BOOL UnloadHive(HWND hWnd)
/* refresh tree and list views */
RefreshTreeView(g_pChildWnd->hTreeWnd);
pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hRootKey);
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath);
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath, TRUE);
}
else
{
@ -524,7 +516,7 @@ static BOOL ImportRegistryFile(HWND hWnd)
/* refresh tree and list views */
RefreshTreeView(g_pChildWnd->hTreeWnd);
pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot);
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, pszKeyPath);
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, pszKeyPath, TRUE);
return bRet;
}
@ -573,7 +565,7 @@ static UINT_PTR CALLBACK ExportRegistryFile_OFNHookProc(HWND hdlg, UINT uiMsg, W
{
GetWindowTextW(hwndExportBranchText, pszSelectedKey, _MAX_PATH);
}
else
else if (pszSelectedKey)
{
pszSelectedKey[0] = L'\0';
}
@ -883,7 +875,7 @@ static BOOL CreateNewValue(HKEY hRootKey, LPCWSTR pszKeyPath, DWORD dwType)
return FALSE;
}
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath);
RefreshListView(g_pChildWnd->hListWnd, hRootKey, pszKeyPath, TRUE);
/* locate the newly added value, and get ready to rename it */
memset(&lvfi, 0, sizeof(lvfi));
@ -891,7 +883,12 @@ static BOOL CreateNewValue(HKEY hRootKey, LPCWSTR pszKeyPath, DWORD dwType)
lvfi.psz = szNewValue;
iIndex = ListView_FindItem(g_pChildWnd->hListWnd, -1, &lvfi);
if (iIndex >= 0)
{
ListView_SetItemState(g_pChildWnd->hListWnd, iIndex,
LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
ListView_EnsureVisible(g_pChildWnd->hListWnd, iIndex, FALSE);
(void)ListView_EditLabel(g_pChildWnd->hListWnd, iIndex);
}
return TRUE;
}
@ -1134,11 +1131,11 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
case ID_EDIT_MODIFY:
if (valueName && ModifyValue(hWnd, hKey, valueName, FALSE))
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath);
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, FALSE);
break;
case ID_EDIT_MODIFY_BIN:
if (valueName && ModifyValue(hWnd, hKey, valueName, TRUE))
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath);
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, FALSE);
break;
case ID_EDIT_RENAME:
if (GetFocus() == g_pChildWnd->hListWnd)
@ -1186,7 +1183,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
item = ni;
}
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath);
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, FALSE);
if(errs > 0)
{
LoadStringW(hInst, IDS_ERR_DELVAL_CAPTION, caption, COUNT_OF(caption));
@ -1229,7 +1226,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
FindDialog(hWnd);
break;
case ID_EDIT_FINDNEXT:
FindNext(hWnd);
FindNextMessageBox(hWnd);
break;
case ID_EDIT_COPYKEYNAME:
CopyKeyName(hWnd, hKeyRoot, keyPath);
@ -1249,7 +1246,7 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
case ID_VIEW_REFRESH:
RefreshTreeView(g_pChildWnd->hTreeWnd);
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot);
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath);
RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, keyPath, TRUE);
break;
/*case ID_OPTIONS_TOOLBAR:*/
/* toggle_child(hWnd, LOWORD(wParam), hToolBar);*/
@ -1257,6 +1254,34 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
case ID_EDIT_NEW_KEY:
CreateNewKey(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd));
break;
case ID_TREE_EXPANDBRANCH:
TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_EXPAND);
break;
case ID_TREE_COLLAPSEBRANCH:
TreeView_Expand(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), TVE_COLLAPSE);
break;
case ID_TREE_RENAME:
SetFocus(g_pChildWnd->hTreeWnd);
TreeView_EditLabel(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd));
break;
case ID_TREE_DELETE:
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), &hKeyRoot);
if (keyPath == 0 || *keyPath == 0)
MessageBeep(MB_ICONHAND);
else if (DeleteKey(hWnd, hKeyRoot, keyPath))
DeleteNode(g_pChildWnd->hTreeWnd, 0);
break;
case ID_TREE_EXPORT:
ExportRegistryFile(g_pChildWnd->hTreeWnd);
break;
case ID_TREE_PERMISSIONS:
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, TreeView_GetSelection(g_pChildWnd->hTreeWnd), &hKeyRoot);
RegKeyEditPermissions(hWnd, hKeyRoot, NULL, keyPath);
break;
case ID_SWITCH_PANELS:
g_pChildWnd->nFocusPanel = !g_pChildWnd->nFocusPanel;
SetFocus(g_pChildWnd->nFocusPanel? g_pChildWnd->hListWnd: g_pChildWnd->hTreeWnd);
break;
default:
if ((LOWORD(wParam) >= ID_FAVORITES_MIN) && (LOWORD(wParam) <= ID_FAVORITES_MAX))
{

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -28,7 +28,7 @@ IDR_REGEDIT_MENU MENU
BEGIN
POPUP "Be&rkas"
BEGIN
MENUITEM "&Impor ...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Impor...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Ekspor...", ID_REGISTRY_EXPORTREGISTRYFILE
MENUITEM SEPARATOR
MENUITEM "Muat Hive...", ID_REGISTRY_LOADHIVE, GRAYED
@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Ganti nama", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Ekspor", ID_TREE_EXPORT
MENUITEM "&Perijinan...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Perijinan...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Salin Nama Kunci", ID_EDIT_COPYKEYNAME
END
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN
IDS_EXPAND "Pe&rluas"
IDS_COLLAPSE "Per&sempit"
IDS_GOTO_SUGGESTED_KEY "&Pergi ke '%s'"
IDS_FINISHEDFIND "Selesai mencari di seluruh registri."
END

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -2,10 +2,10 @@
* Update by Caemyr - Olaf Siejka (Jan, 2007; May, 2011)
* Use ReactOS forum PM or IRC to contact me
* 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)
* UTF-8 conversion by Caemyr (May, 2011)
* Update by wojo664 (04.08.2011)
* UTF-8 conversion by Caemyr (May, 2011)
* Update by wojo664 (04.08.2011)
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
@ -139,7 +139,7 @@ BEGIN
MENUITEM "Z&mień nazwę", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Eksportuj", ID_TREE_EXPORT
MENUITEM "&Uprawnienia..", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Uprawnienia..", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Kopiuj nazwę klucza", ID_EDIT_COPYKEYNAME
END
@ -398,7 +398,6 @@ STRINGTABLE
BEGIN
IDS_EXPAND "&Rozwiń"
IDS_COLLAPSE "&Zwiń"
IDS_GOTO_SUGGESTED_KEY "&Idź do '%s'"
IDS_FINISHEDFIND "Przeszukiwanie rejestru zakończone."
END

View file

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

View file

@ -66,7 +66,7 @@ BEGIN
MENUITEM "&Localizar...\tCtrl+F", ID_EDIT_FIND
MENUITEM "L&ocalizar próxima\tF3", ID_EDIT_FINDNEXT
END
POPUP "E&xibir"
POPUP "&Ver"
BEGIN
MENUITEM "&Barra de status", ID_VIEW_STATUSBAR
MENUITEM SEPARATOR
@ -129,7 +129,7 @@ BEGIN
MENUITEM "&Renomear", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Exportar", ID_TREE_EXPORT
MENUITEM "&Permissões...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&Permissões...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Copiar chave 'Nome'", ID_EDIT_COPYKEYNAME
END
@ -170,7 +170,7 @@ BEGIN
EDITTEXT IDC_VALUE_DATA, 6, 46, 240, 102, ES_AUTOHSCROLL | ES_MULTILINE |
ES_WANTRETURN | ES_AUTOVSCROLL | WS_VSCROLL
DEFPUSHBUTTON "OK", IDOK, 142, 154, 50, 14
PUSHBUTTON "Cancearl", IDCANCEL, 196, 154, 50, 14
PUSHBUTTON "Cancelar", IDCANCEL, 196, 154, 50, 14
END
IDD_EDIT_BIN_DATA DIALOGEX 32, 24, 252, 174
@ -270,7 +270,7 @@ STRINGTABLE
BEGIN
ID_REGISTRY_MENU "Contém comandos para trabalhar com o Registo inteiro."
ID_EDIT_MENU "Contém comandos para edição de valores ou chaves."
ID_VIEW_MENU "Contém comandos para personalização da janela do Registro."
ID_VIEW_MENU "Contém comandos para personalização da janela do Registo."
ID_FAVOURITES_MENU "Contém comandos para acessar chaves frequentemente usadas."
ID_HELP_MENU "Contém comandos para exibição da ajuda e informações sobre o Editor do Registo."
ID_EDIT_NEW_MENU "Contém comandos para criação de novas chaves ou valores"
@ -283,10 +283,10 @@ BEGIN
ID_EDIT_NEW_STRINGVALUE "Adiciona um novo valor texto."
ID_EDIT_NEW_BINARYVALUE "Adiciona um novo valor binário."
ID_EDIT_NEW_DWORDVALUE "Adiciona um novo valor DWORD."
ID_REGISTRY_IMPORTREGISTRYFILE "Importa um arquivo texto para o registro."
ID_REGISTRY_IMPORTREGISTRYFILE "Importa um arquivo texto para o registo."
ID_REGISTRY_EXPORTREGISTRYFILE "Exporta todo ou parte do registo para um arquivo texto."
ID_REGISTRY_LOADHIVE "Carrega um arquivo de secção no registo"
ID_REGISTRY_UNLOADHIVE "Descarrega um arquivo de seção no registro"
ID_REGISTRY_UNLOADHIVE "Descarrega um arquivo de seção no registo"
ID_REGISTRY_CONNECTNETWORKREGISTRY "Liga a um registo num computador remoto."
ID_REGISTRY_DISCONNECTNETWORKREGISTRY "Desliga um registo de um computador remoto."
ID_REGISTRY_PRINT "Imprime todo ou parte do registo."
@ -322,7 +322,7 @@ BEGIN
IDS_QUERY_DELETE_KEY_MORE "Tem certeza que deseja excluir estas chaves?"
IDS_QUERY_DELETE_KEY_CONFIRM "Confirme exclusão da chave"
IDS_QUERY_DELETE_ONE "Tem certeza que deseja excluir este valor?"
IDS_QUERY_DELETE_MORE "Tem certeza que deseja excluir estes valores??"
IDS_QUERY_DELETE_MORE "Tem certeza que deseja excluir estes valores?"
IDS_QUERY_DELETE_CONFIRM "Confirme a exclusão do Valor"
IDS_ERR_DELVAL_CAPTION "Erro ao apagar Valor"
IDS_ERR_DELETEVALUE "Não foi possível apagar todos os valores especificados!"
@ -388,7 +388,6 @@ STRINGTABLE
BEGIN
IDS_EXPAND "&Expandir"
IDS_COLLAPSE "&Recolher"
IDS_GOTO_SUGGESTED_KEY "&ir para '%s'"
IDS_FINISHEDFIND "Concluída a pesquisa no registo."
END

View file

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

View file

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

View file

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

View file

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

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
*/
@ -32,7 +32,7 @@ IDR_REGEDIT_MENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "&Importo ...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Importo...", ID_REGISTRY_IMPORTREGISTRYFILE
MENUITEM "&Eksporto...", ID_REGISTRY_EXPORTREGISTRYFILE
MENUITEM SEPARATOR
MENUITEM "Ngarko koshere...", ID_REGISTRY_LOADHIVE, GRAYED
@ -133,7 +133,7 @@ BEGIN
MENUITEM "Emero", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Exporto", ID_TREE_EXPORT
MENUITEM "T'drejta...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "T'drejta...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "Kopjo emrin çelesit", ID_EDIT_COPYKEYNAME
END
@ -392,7 +392,6 @@ STRINGTABLE
BEGIN
IDS_EXPAND "Zgjat"
IDS_COLLAPSE "Zgjero"
IDS_GOTO_SUGGESTED_KEY "Shko tek '%s'"
IDS_FINISHEDFIND "Përfunduar kërkimin përmes regjistrit."
END

View file

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

View file

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

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ğlantıyı Kes...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
MENUITEM SEPARATOR
MENUITEM "Ya&zdır...\tDenetim+P", ID_REGISTRY_PRINT, GRAYED
MENUITEM "Ya&zdır...\tCtrl+P", ID_REGISTRY_PRINT, GRAYED
MENUITEM SEPARATOR
MENUITEM "&Çıkış", ID_REGISTRY_EXIT
END
@ -60,12 +60,12 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "&İzinler...", ID_EDIT_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Sil\tSil", ID_EDIT_DELETE
MENUITEM "&Sil\tDel", ID_EDIT_DELETE
MENUITEM "&Adını Değiştir", ID_EDIT_RENAME
MENUITEM SEPARATOR
MENUITEM "Di&zin Yolunu Çoğalt", ID_EDIT_COPYKEYNAME
MENUITEM SEPARATOR
MENUITEM "&Bul...\tDenetim+F", ID_EDIT_FIND
MENUITEM "&Bul...\tCtrl+F", ID_EDIT_FIND
MENUITEM "S&onrakini Bul\tF3...", ID_EDIT_FINDNEXT
END
POPUP "&Görünüm"
@ -96,7 +96,7 @@ BEGIN
MENUITEM "&Değiştir...", ID_EDIT_MODIFY
MENUITEM "&İkili Veriyi Değiştir...", ID_EDIT_MODIFY_BIN
MENUITEM SEPARATOR
MENUITEM "&Sil\tSil", ID_EDIT_DELETE
MENUITEM "&Sil\tDel", ID_EDIT_DELETE
MENUITEM "&Adını Değiştir", ID_EDIT_RENAME
END
POPUP ""
@ -131,7 +131,7 @@ BEGIN
MENUITEM "&Adını Değiştir", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "&Ver...", ID_TREE_EXPORT
MENUITEM "&İzinler...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "&İzinler...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "&Dizin Yolunu Çoğalt", ID_EDIT_COPYKEYNAME
END
@ -150,7 +150,7 @@ END
IDD_EDIT_STRING DIALOGEX 32, 24, 252, 84
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Dizgi Değerini Düzenle"
CAPTION "Dize Değerini Düzenle"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8
@ -163,7 +163,7 @@ END
IDD_EDIT_MULTI_STRING DIALOGEX 32, 24, 252, 174
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Çok Dizeli Dizgi Değerini Düzenle"
CAPTION "Çoklu Dize Değerini Düzenle"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8
@ -190,7 +190,7 @@ END
IDD_EDIT_DWORD DIALOGEX 32, 24, 252, 104
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "32 Bitlik Değeri Düzenle"
CAPTION "DWORD Değeri Düzenle"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "&Değer Adı:", IDC_STATIC, 6, 6, 134, 8
@ -206,7 +206,7 @@ END
IDD_EDIT_RESOURCE_LIST DIALOGEX 32, 24, 170, 120
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kaynak Dizelgesi"
CAPTION "Kaynak Listesi"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "", IDC_RESOURCE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER |
@ -232,14 +232,14 @@ BEGIN
LTEXT "Giriş:", IDC_STATIC, 10, 134, 38, 8
CONTROL "", IDC_PORT_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER |
LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 144, 261, 31
LTEXT "Husûsî Aygıt Verisi:", IDC_STATIC, 10, 177, 80, 8
LTEXT "Özel Aygıt Verisi:", IDC_STATIC, 10, 177, 80, 8
CONTROL "", IDC_DEVICE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER |
LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 188, 261, 31
GROUPBOX "Kullanım", IDC_STATIC, 10, 219, 125, 39
LTEXT "Belirsiz:", IDC_UNDETERMINED, 18, 230, 46, 8, WS_DISABLED
LTEXT "Paylaşılan:", IDC_SHARED, 18, 240, 48, 8, WS_DISABLED
LTEXT "Husûsî Aygıt", IDC_DEVICE_EXCLUSIVE, 72, 230, 58, 8, WS_DISABLED
LTEXT "Husûsî Sürücü", IDC_DRIVER_EXCLUSIVE, 72, 240, 54, 8, WS_DISABLED
LTEXT "Özel Aygıt", IDC_DEVICE_EXCLUSIVE, 72, 230, 58, 8, WS_DISABLED
LTEXT "Özel Sürücü", IDC_DRIVER_EXCLUSIVE, 72, 240, 54, 8, WS_DISABLED
RTEXT "Arayüz Türü:", IDC_STATIC, 144, 220, 58, 8
LTEXT "", IDC_INTERFACETYPE, 205, 220, 66, 8
RTEXT "Veriyolu Numarası:", IDC_STATIC, 151, 230, 51, 8
@ -271,7 +271,7 @@ END
STRINGTABLE
BEGIN
ID_REGISTRY_MENU "Bütün Değer Defteri ile çalışma komutlarını içerir."
ID_EDIT_MENU "Dizinleri veyâ değerleri düzenleme komutlarını içerir."
ID_EDIT_MENU "Anahtar veya değerleri düzenleme komutlarını içerir."
ID_VIEW_MENU "Değer Defteri penceresinin husûsileştirme komutlarını içerir."
ID_FAVOURITES_MENU "Sık kullanılan dizinleri kullanma komutlarını içerir."
ID_HELP_MENU "Değer Defteri Düzenleyicisi ile ilgili bilgiyi ya da yardımı görüntüleme komutlarını içerir."
@ -282,9 +282,9 @@ STRINGTABLE
BEGIN
ID_EDIT_MODIFY "Değerin verisini değiştirir."
ID_EDIT_NEW_KEY "Yeni bir dizin ekler."
ID_EDIT_NEW_STRINGVALUE "Yeni bir dizgi değeri ekler."
ID_EDIT_NEW_STRINGVALUE "Yeni bir dizi değeri ekler."
ID_EDIT_NEW_BINARYVALUE "Yeni bir ikili değer ekler."
ID_EDIT_NEW_DWORDVALUE "Yeni bir 32 bitlik değer ekler."
ID_EDIT_NEW_DWORDVALUE "Yeni bir DWORD değeri ekler."
ID_REGISTRY_IMPORTREGISTRYFILE "Bir metin kütüğünü Değer Defteri'ne alır."
ID_REGISTRY_EXPORTREGISTRYFILE "Değer Defteri'nin tümünü ya da bir bölümünü bir metin kütüğüne verir."
ID_REGISTRY_LOADHIVE "Değer Defteri'ne bir yığın kütüğü yükler."
@ -293,7 +293,7 @@ BEGIN
ID_REGISTRY_DISCONNECTNETWORKREGISTRY "Uzaktaki bir bilgisayarın Değer Defteri'sine olan bağlantıyı keser."
ID_REGISTRY_PRINT "Değer Defteri'nin tümünü ya da bir bölümünü yazdırır."
/* ID_HELP_HELPTOPICS "Değer Defteri Düzenleyicisi Yardımı'nı açar." */
ID_HELP_ABOUT "İzlenceyle ilgili bilgi, sürüm numarası ve telif hakkı görüntüler."
ID_HELP_ABOUT "Programla ilgili bilgi, sürüm numarası ve telif hakkı görüntüler."
END
STRINGTABLE
@ -302,7 +302,7 @@ BEGIN
ID_FAVOURITES_ADDTOFAVOURITES "Dizinleri yer imleri dizelgesine ekler."
ID_FAVOURITES_REMOVEFAVOURITE "Dizinleri yer imleri dizelgesinden kaldırır."
ID_VIEW_STATUSBAR "Durum çubuğunu gösterir ya da gizler."
ID_VIEW_SPLIT "İki levhâ arasındaki ayırıcının konumunu değiştirir."
ID_VIEW_SPLIT "İki levha arasındaki ayırıcının konumunu değiştirir."
ID_VIEW_REFRESH "Pencereyi yeniler."
ID_EDIT_DELETE "Seçileni siler."
ID_EDIT_RENAME "Seçilenin adını değiştirir."
@ -313,7 +313,7 @@ END
STRINGTABLE
BEGIN
IDS_ERROR "Yanlışlık"
IDS_ERROR "Hata"
IDS_WARNING "Uyarı"
IDS_BAD_KEY "Dizin sorgulanamıyor: %s"
IDS_BAD_VALUE "Değer sorgulanamıyor: %s"
@ -326,9 +326,9 @@ BEGIN
IDS_QUERY_DELETE_ONE "Bu değeri silmek istediğinizden emin misiniz?"
IDS_QUERY_DELETE_MORE "Bu değerleri silmek istediğinizden emin misiniz?"
IDS_QUERY_DELETE_CONFIRM "Değer Silme Doğrulaması"
IDS_ERR_DELVAL_CAPTION "Değerler Silinmesi Yanlışlığı"
IDS_ERR_DELVAL_CAPTION "Değer Silime Hatası"
IDS_ERR_DELETEVALUE "Tüm belirtilmiş değerler silinemiyor."
IDS_ERR_RENVAL_CAPTION "Değer Adı Değiştirilmesi Yanlışlığı"
IDS_ERR_RENVAL_CAPTION "Değer Adı Değiştirilmesi Hatası"
IDS_ERR_RENVAL_TOEMPTY "Adı değiştirilemiyor: %s. Belirtilen değer adı boş. Başka bir ad yazıp yeniden deneyiniz."
IDS_QUERY_IMPORT_HIVE_CAPTION "Dizin Yenileme Doğrulaması"
IDS_QUERY_IMPORT_HIVE_MSG "Bir dizin seçili dizinle yenilenecektir.\nBu dizinin tüm alt dizinleri ve değerleri silinecektir.\nİşlemi sürdürmek istiyor musunuz?"
@ -347,7 +347,7 @@ BEGIN
IDS_EXPORT_REG_FILE "Değer Kütüğüne Ver"
IDS_LOAD_HIVE "Yığın Yükle"
IDS_UNLOAD_HIVE "Yığını Kaldır"
IDS_INVALID_DWORD "(Geçersiz 32 bitlik değer)"
IDS_INVALID_DWORD "(Geçersiz DWORD değeri)"
END
STRINGTABLE
@ -359,7 +359,7 @@ BEGIN
IDS_FLT_HIVFILES_FLT "*.*"
IDS_FLT_REGEDIT4 "Windows 9x ve Windows NT 4.0 Türündeki Değer Kütükleri (REGEDIT4) (*.reg)"
IDS_FLT_REGEDIT4_FLT "*.reg"
IDS_FLT_ALLFILES "Tüm Kütükler (*.*)"
IDS_FLT_ALLFILES "Tüm Dosyalar (*.*)"
IDS_FLT_ALLFILES_FLT "*.*"
END
@ -390,16 +390,15 @@ STRINGTABLE
BEGIN
IDS_EXPAND "&Genişlet"
IDS_COLLAPSE "&Daralt"
IDS_GOTO_SUGGESTED_KEY "G&it: %s"
IDS_FINISHEDFIND "Değer Defteri boyunca arama bitti."
END
STRINGTABLE
BEGIN
IDS_IMPORT_PROMPT "Bilgi ekleme, yanlışlıkla değerleri değiştirebilir ya da silebilir ve bileşenlerin doğru çalışmasını engelleyebilir.\nEğer ""%s"" içindeki bilginin kaynağına güvenmiyorsanız onu Değer Defteri'ne eklemeyiniz.\n\nSürdürmek istediğinizden emin misiniz?"
IDS_IMPORT_OK """%s"" içinde bulunan dizinler ve değerler Değer Defteri'ne başarıyla eklendi."
IDS_IMPORT_ERROR """%s"" alınamıyor: Kütüğü açmada yanlışlık. Bir disk yanlışlığı, bir kütük dizgesi yanlışlığı ya da kütüğün olmaması olabilir."
IDS_EXPORT_ERROR """%s"" verilemiyor: Kütüğü oluşturmada ya da kütüğe yazmada yanlışlık. Bir disk yanlışlığı ya da bir kütük dizgesi yanlışlığı olabilir."
IDS_IMPORT_OK """%s"" içinde bulunan anahtar ve değerler Kayıt Defteri'ne başarıyla eklendi."
IDS_IMPORT_ERROR """%s"" alınamıyor: Dosyayı açmada hata. Bir disk hatası, bir dosya tablosu hatası ya da tablonun olmaması olabilir."
IDS_EXPORT_ERROR """%s"" verilemiyor: Dosyayı oluşturmada ya da dosyaya yazmada hatası. Bir disk hatası ya da bir dosya tablosu hatası olabilir."
END
STRINGTABLE
@ -410,11 +409,11 @@ BEGIN
IDS_DMA_PORT "Giriş"
IDS_INTERRUPT_VECTOR "Yöney"
IDS_INTERRUPT_LEVEL "Düzey"
IDS_INTERRUPT_AFFINITY "Benzerlik"
IDS_INTERRUPT_AFFINITY "İlişki"
IDS_INTERRUPT_TYPE "Tür"
IDS_MEMORY_ADDRESS "Fizikî Erişki"
IDS_MEMORY_LENGTH "Uzunluk"
IDS_MEMORY_ACCESS "Erişim"
IDS_MEMORY_ACCESS "Adres"
IDS_PORT_ADDRESS "Fizikî Erişki"
IDS_PORT_LENGTH "Uzunluk"
IDS_PORT_ACCESS "Erişim"
@ -520,7 +519,7 @@ BEGIN
WS_TABSTOP, 14, 48, 36, 8
CONTROL "&Değer Verileri", IDC_LOOKAT_DATA, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 14, 60, 42, 8
CONTROL "&Yalnızca Tüm Dizgiyi Karşılaştır", IDC_MATCHSTRING, "Button", BS_AUTOCHECKBOX |
CONTROL "&Yalnızca Tüm Dizeyi Karşılaştır", IDC_MATCHSTRING, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 83, 32, 94, 13
CONTROL "&Büyük-Küçük Harfliği Karşılaştır", IDC_MATCHCASE, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 83, 48, 90, 12

View file

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

View file

@ -131,7 +131,7 @@ BEGIN
MENUITEM "重命名(&R)", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "导出(&E)", ID_TREE_EXPORT
MENUITEM "权限(&P)...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "权限(&P)...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "复制键名(&C)", ID_EDIT_COPYKEYNAME
END
@ -319,7 +319,7 @@ BEGIN
IDS_BAD_VALUE "不能查询值 '%s'"
IDS_UNSUPPORTED_TYPE "不能编辑这种类型的键 (%ld)"
IDS_TOO_BIG_VALUE "数值过大 (%ld)"
IDS_MULTI_SZ_EMPTY_STRING "REG_MULTI_SZ 类型的数据不能包含空字符串。\r\n注册表编辑器将删除找到得空字符串。"
IDS_MULTI_SZ_EMPTY_STRING "REG_MULTI_SZ 类型的数据不能包含空字符串。\n注册表编辑器将删除找到得空字符串。"
IDS_QUERY_DELETE_KEY_ONE "确实要删除这个键吗?"
IDS_QUERY_DELETE_KEY_MORE "确实要删除这些键吗?"
IDS_QUERY_DELETE_KEY_CONFIRM "确认删除键"
@ -390,7 +390,6 @@ STRINGTABLE
BEGIN
IDS_EXPAND "展开"
IDS_COLLAPSE "折叠"
IDS_GOTO_SUGGESTED_KEY "转到(&G)'%s'"
IDS_FINISHEDFIND "注册表搜索完毕。"
END

View file

@ -1,5 +1,7 @@
/* Traditional Chinese translation by Henry Tang Ih 2016 (henrytang2@hotmail.com) */
/* Translation has been changed by Luo Yufan 2018 (njlyf2011@hotmail.com) */
/*
* TRANSLATORS: Copyright 2016 Henry Tang Ih <henrytang2@hotmail.com>
* Copyright 2018 Luke Luo <njlyf2011@hotmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
@ -35,7 +37,7 @@ BEGIN
MENUITEM "匯出(&E)...", ID_REGISTRY_EXPORTREGISTRYFILE
MENUITEM SEPARATOR
MENUITEM "載入 Hive 控制檔...", ID_REGISTRY_LOADHIVE, GRAYED
MENUITEM "解除載入 Hive 控制檔...", ID_REGISTRY_UNLOADHIVE, GRAYED
MENUITEM "卸載 Hive 控制檔...", ID_REGISTRY_UNLOADHIVE, GRAYED
MENUITEM SEPARATOR
MENUITEM "連線網路登錄(&C)...", ID_REGISTRY_CONNECTNETWORKREGISTRY
MENUITEM "中斷網路登錄連線(&C)...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED
@ -53,8 +55,8 @@ BEGIN
MENUITEM "項(&K)", ID_EDIT_NEW_KEY
MENUITEM SEPARATOR
MENUITEM "字元串值(&S)", ID_EDIT_NEW_STRINGVALUE
MENUITEM "二進制值(&B)", ID_EDIT_NEW_BINARYVALUE
MENUITEM "DWORD ??&D)", ID_EDIT_NEW_DWORDVALUE
MENUITEM "二進制值(&B)", ID_EDIT_NEW_BINARYVALUE
MENUITEM "DWORD 值(&D)", ID_EDIT_NEW_DWORDVALUE
MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE
MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
END
@ -107,7 +109,7 @@ BEGIN
MENUITEM "項(&K)", ID_EDIT_NEW_KEY
MENUITEM SEPARATOR
MENUITEM "字元串值(&S)", ID_EDIT_NEW_STRINGVALUE
MENUITEM "二進制值(&B)", ID_EDIT_NEW_BINARYVALUE
MENUITEM "二進制值(&B)", ID_EDIT_NEW_BINARYVALUE
MENUITEM "DWORD 值(&D)", ID_EDIT_NEW_DWORDVALUE
MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE
MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
@ -121,7 +123,7 @@ BEGIN
MENUITEM "項(&K)", ID_EDIT_NEW_KEY
MENUITEM SEPARATOR
MENUITEM "字元串值(&S)", ID_EDIT_NEW_STRINGVALUE
MENUITEM "二進制值(&B)", ID_EDIT_NEW_BINARYVALUE
MENUITEM "二進制值(&B)", ID_EDIT_NEW_BINARYVALUE
MENUITEM "DWORD 值(&D)", ID_EDIT_NEW_DWORDVALUE
MENUITEM "多字元串值(&M)", ID_EDIT_NEW_MULTISTRINGVALUE
MENUITEM "可擴充字元串值(&E)", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
@ -132,7 +134,7 @@ BEGIN
MENUITEM "重新命名(&R)", ID_TREE_RENAME
MENUITEM SEPARATOR
MENUITEM "匯出(&E)", ID_TREE_EXPORT
MENUITEM "許可權(&P)...", ID_TREE_PERMISSIONS, GRAYED
MENUITEM "許可權(&P)...", ID_TREE_PERMISSIONS
MENUITEM SEPARATOR
MENUITEM "複製項名稱(&C)", ID_EDIT_COPYKEYNAME
END
@ -178,7 +180,7 @@ END
IDD_EDIT_BIN_DATA DIALOGEX 32, 24, 252, 174
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "編輯二進制數值"
CAPTION "編輯二進制數值"
FONT 9, "新細明體"
BEGIN
LTEXT "數值名稱(&N):", IDC_STATIC, 6, 6, 134, 8
@ -199,8 +201,8 @@ BEGIN
LTEXT "數值資料(&V):", IDC_STATIC, 6, 35, 161, 8
EDITTEXT IDC_VALUE_DATA, 6, 46, 116, 12, ES_AUTOHSCROLL
GROUPBOX "基數", IDC_STATIC, 130, 35, 116, 39
AUTORADIOBUTTON "十六進制(&H)", IDC_FORMAT_HEX, 141, 46, 60, 10, WS_GROUP
AUTORADIOBUTTON "十進制(&D)", IDC_FORMAT_DEC, 141, 59, 60, 10
AUTORADIOBUTTON "十六進制(&H)", IDC_FORMAT_HEX, 141, 46, 60, 10, WS_GROUP
AUTORADIOBUTTON "十進制(&D)", IDC_FORMAT_DEC, 141, 59, 60, 10
DEFPUSHBUTTON "確定", IDOK, 142, 82, 50, 14
PUSHBUTTON "取消", IDCANCEL, 196, 82, 50, 14
END
@ -289,7 +291,7 @@ BEGIN
ID_REGISTRY_IMPORTREGISTRYFILE "將檔案匯入到登錄中。"
ID_REGISTRY_EXPORTREGISTRYFILE "將登錄全部或部分匯出到檔案中。"
ID_REGISTRY_LOADHIVE "載入 Hive 控制檔到登錄中。"
ID_REGISTRY_UNLOADHIVE "從登錄中解除載入 Hive 控制檔。"
ID_REGISTRY_UNLOADHIVE "從登錄中卸載 Hive 控制檔。"
ID_REGISTRY_CONNECTNETWORKREGISTRY "連線到遠端電腦的登錄。"
ID_REGISTRY_DISCONNECTNETWORKREGISTRY "斷開與遠端電腦登錄的連線。"
ID_REGISTRY_PRINT "列印所有或部分登錄。"
@ -320,7 +322,7 @@ BEGIN
IDS_BAD_VALUE "不能查詢值 '%s'"
IDS_UNSUPPORTED_TYPE "不能編輯這類型的項 (%ld)"
IDS_TOO_BIG_VALUE "數值過大 (%ld)"
IDS_MULTI_SZ_EMPTY_STRING "REG_MULTI_SZ 類型的資料不能包含空字元串。\r\n註冊表編輯器將刪除找到得空字元串。"
IDS_MULTI_SZ_EMPTY_STRING "REG_MULTI_SZ 類型的資料不能包含空字元串。\n註冊表編輯器將刪除找到得空字元串。"
IDS_QUERY_DELETE_KEY_ONE "確實要刪除這個項嗎?"
IDS_QUERY_DELETE_KEY_MORE "確實要刪除這些項嗎?"
IDS_QUERY_DELETE_KEY_CONFIRM "確認項刪除"
@ -345,7 +347,7 @@ BEGIN
IDS_UNKNOWN_TYPE "未知類型: (0x%lx)"
IDS_MY_COMPUTER "我的電腦"
IDS_IMPORT_REG_FILE "載入 Hive 控制檔"
IDS_EXPORT_REG_FILE "解除載入 Hive 控制檔"
IDS_EXPORT_REG_FILE "卸載 Hive 控制檔"
IDS_LOAD_HIVE "載入配置單元"
IDS_UNLOAD_HIVE "解除安裝配置單元"
IDS_INVALID_DWORD "(不正確的 DWORD 值)"
@ -391,7 +393,6 @@ STRINGTABLE
BEGIN
IDS_EXPAND "展開"
IDS_COLLAPSE "摺疊"
IDS_GOTO_SUGGESTED_KEY "轉到(&G)'%s'"
IDS_FINISHEDFIND "登錄搜索完畢。"
END
@ -454,7 +455,7 @@ BEGIN
IDS_BUS_INTERNALPOWERBUS "Internal Power Bus"
IDS_BUS_PNPISABUS "PnP-ISA Bus"
IDS_BUS_PNPBUS "PnP Bus"
IDS_BUS_UNKNOWNTYPE "未知的介面類型"
IDS_BUS_UNKNOWNTYPE "不明介面類型"
END
/*****************************************************************/

View file

@ -91,7 +91,7 @@ VOID SetValueName(HWND hwndLV, LPCWSTR pszValueName)
{
ListView_SetItemState(hwndLV, i, 0, LVIS_FOCUSED | LVIS_SELECTED);
}
if (pszValueName == NULL)
if (pszValueName == NULL || pszValueName[0] == 0)
i = 0;
else
{
@ -101,6 +101,7 @@ VOID SetValueName(HWND hwndLV, LPCWSTR pszValueName)
}
ListView_SetItemState(hwndLV, i, LVIS_FOCUSED | LVIS_SELECTED,
LVIS_FOCUSED | LVIS_SELECTED);
ListView_EnsureVisible(hwndLV, i, FALSE);
iListViewSelect = i;
}
@ -563,7 +564,7 @@ BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
}
return TRUE;
case NM_SETFOCUS:
g_pChildWnd->nFocusPanel = 0;
g_pChildWnd->nFocusPanel = 1;
break;
case LVN_BEGINLABELEDIT:
Info = (NMLVDISPINFO*)lParam;
@ -667,7 +668,7 @@ void DestroyListView(HWND hwndLV)
}
BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath)
BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath, BOOL bSelectNone)
{
DWORD max_sub_key_len;
DWORD max_val_name_len;
@ -737,6 +738,9 @@ BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath)
{
ListView_SetItemState(hwndLV, i, 0, LVIS_FOCUSED | LVIS_SELECTED);
}
if (bSelectNone)
iListViewSelect = -1;
ListView_SetItemState(hwndLV, iListViewSelect,
LVIS_FOCUSED | LVIS_SELECTED,
LVIS_FOCUSED | LVIS_SELECTED);

View file

@ -184,7 +184,7 @@ BOOL TranslateChildTabMessage(PMSG msg)
if (msg->wParam != VK_TAB) return FALSE;
if (GetParent(msg->hwnd) != g_pChildWnd->hWnd) return FALSE;
PostMessageW(g_pChildWnd->hWnd, WM_COMMAND, ID_SWITCH_PANELS, 0);
PostMessageW(hFrameWnd, WM_COMMAND, ID_SWITCH_PANELS, 0);
return TRUE;
}

View file

@ -27,7 +27,7 @@
#define TREE_WINDOW 2002
#define LIST_WINDOW 2003
#define SPLIT_WIDTH 5
#define SPLIT_WIDTH 5
#define SPLIT_MIN 30
#define COUNT_OF(a) (sizeof(a)/sizeof(a[0]))
@ -39,8 +39,6 @@
#define MAX_NEW_KEY_LEN 128
extern HINSTANCE hInst;
/******************************************************************************/
enum OPTION_FLAGS
@ -86,66 +84,69 @@ extern WCHAR szChildClass[];
extern const WCHAR g_szGeneralRegKey[];
/* about.c */
extern void ShowAboutBox(HWND hWnd);
void ShowAboutBox(HWND hWnd);
/* childwnd.c */
extern LRESULT CALLBACK ChildWndProc(HWND, UINT, WPARAM, LPARAM);
extern void ResizeWnd(int cx, int cy);
extern LPCWSTR get_root_key_name(HKEY hRootKey);
LRESULT CALLBACK ChildWndProc(HWND, UINT, WPARAM, LPARAM);
void ResizeWnd(int cx, int cy);
LPCWSTR get_root_key_name(HKEY hRootKey);
VOID UpdateAddress(HTREEITEM hItem, HKEY hRootKey, LPCWSTR pszPath, BOOL bSelectNone);
/* edit.c */
BOOL ModifyValue(HWND hwnd, HKEY hKey, LPCWSTR valueName, BOOL EditBin);
BOOL DeleteKey(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath);
LONG RenameKey(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpNewName);
LONG RenameValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpDestValue, LPCWSTR lpSrcValue);
LONG QueryStringValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName, LPWSTR pszBuffer, DWORD dwBufferLen);
BOOL GetKeyName(LPWSTR pszDest, size_t iDestLength, HKEY hRootKey, LPCWSTR lpSubKey);
/* error.c */
extern int ErrorMessageBox(HWND hWnd, LPCWSTR lpTitle, DWORD dwErrorCode, ...);
extern int InfoMessageBox(HWND hWnd, UINT uType, LPCWSTR lpTitle, LPCWSTR lpMessage, ...);
int ErrorMessageBox(HWND hWnd, LPCWSTR lpTitle, DWORD dwErrorCode, ...);
int InfoMessageBox(HWND hWnd, UINT uType, LPCWSTR lpTitle, LPCWSTR lpMessage, ...);
/* find.c */
extern void FindDialog(HWND hWnd);
extern BOOL FindNext(HWND hWnd);
void FindDialog(HWND hWnd);
BOOL FindNext(HWND hWnd);
void FindNextMessageBox(HWND hWnd);
/* framewnd.c */
extern LRESULT CALLBACK FrameWndProc(HWND, UINT, WPARAM, LPARAM);
extern void SetupStatusBar(HWND hWnd, BOOL bResize);
extern void UpdateStatusBar(void);
extern BOOL CopyKeyName(HWND hWnd, HKEY hRootKey, LPCWSTR keyName);
extern BOOL ExportRegistryFile(HWND hWnd);
LRESULT CALLBACK FrameWndProc(HWND, UINT, WPARAM, LPARAM);
void SetupStatusBar(HWND hWnd, BOOL bResize);
void UpdateStatusBar(void);
BOOL CopyKeyName(HWND hWnd, HKEY hRootKey, LPCWSTR keyName);
BOOL ExportRegistryFile(HWND hWnd);
/* listview.c */
extern HWND CreateListView(HWND hwndParent, HMENU id, INT cx);
extern BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath);
extern LPCWSTR GetValueName(HWND hwndLV, int iStartAt);
extern BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result);
extern BOOL IsDefaultValue(HWND hwndLV, int i);
HWND CreateListView(HWND hwndParent, HMENU id, INT cx);
BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath, BOOL bSelectNone);
LPCWSTR GetValueName(HWND hwndLV, int iStartAt);
BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result);
BOOL TreeWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result);
BOOL IsDefaultValue(HWND hwndLV, int i);
/* regedit.c */
LPCWSTR getAppName(void);
/* treeview.c */
extern HWND CreateTreeView(HWND hwndParent, LPWSTR pHostName, HMENU id);
extern BOOL RefreshTreeView(HWND hWndTV);
extern BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem);
extern BOOL OnTreeExpanding(HWND hWnd, NMTREEVIEW* pnmtv);
extern LPCWSTR GetItemPath(HWND hwndTV, HTREEITEM hItem, HKEY* phRootKey);
extern BOOL DeleteNode(HWND hwndTV, HTREEITEM hItem);
extern HTREEITEM InsertNode(HWND hwndTV, HTREEITEM hItem, LPWSTR name);
extern HWND StartKeyRename(HWND hwndTV);
extern BOOL CreateNewKey(HWND hwndTV, HTREEITEM hItem);
extern BOOL SelectNode(HWND hwndTV, LPCWSTR keyPath);
extern void DestroyTreeView(HWND hwndTV);
extern void DestroyListView(HWND hwndLV);
extern void DestroyMainMenu(void);
/* edit.c */
extern BOOL ModifyValue(HWND hwnd, HKEY hKey, LPCWSTR valueName, BOOL EditBin);
extern BOOL DeleteKey(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath);
extern LONG RenameKey(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpNewName);
extern LONG RenameValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpDestValue, LPCWSTR lpSrcValue);
extern LONG QueryStringValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName, LPWSTR pszBuffer, DWORD dwBufferLen);
extern BOOL GetKeyName(LPWSTR pszDest, size_t iDestLength, HKEY hRootKey, LPCWSTR lpSubKey);
/* security.c */
extern BOOL RegKeyEditPermissions(HWND hWndOwner, HKEY hKey, LPCWSTR lpMachine, LPCWSTR lpKeyName);
BOOL RegKeyEditPermissions(HWND hWndOwner, HKEY hKey, LPCWSTR lpMachine, LPCWSTR lpKeyName);
/* settings.c */
extern void LoadSettings(void);
extern void SaveSettings(void);
void LoadSettings(void);
void SaveSettings(void);
/* treeview.c */
HWND CreateTreeView(HWND hwndParent, LPWSTR pHostName, HMENU id);
BOOL RefreshTreeView(HWND hWndTV);
BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem);
BOOL OnTreeExpanding(HWND hWnd, NMTREEVIEW* pnmtv);
LPCWSTR GetItemPath(HWND hwndTV, HTREEITEM hItem, HKEY* phRootKey);
BOOL DeleteNode(HWND hwndTV, HTREEITEM hItem);
HTREEITEM InsertNode(HWND hwndTV, HTREEITEM hItem, LPWSTR name);
HWND StartKeyRename(HWND hwndTV);
BOOL CreateNewKey(HWND hwndTV, HTREEITEM hItem);
BOOL SelectNode(HWND hwndTV, LPCWSTR keyPath);
void DestroyTreeView(HWND hwndTV);
void DestroyListView(HWND hwndLV);
void DestroyMainMenu(void);
/* EOF */

View file

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

View file

@ -33,9 +33,6 @@
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDI_OPEN_FILE ICON "res/folderopen.ico"
IDI_CLOSED_FILE ICON "res/folder.ico"
IDI_ROOT ICON "res/computer.ico"
IDI_STRING ICON "res/string.ico"
IDI_BIN ICON "res/bin.ico"
IDI_REGEDIT ICON "res/regedit.ico"

View file

@ -1392,7 +1392,7 @@ BOOL export_registry_key(WCHAR *file_name, WCHAR *reg_key_name, DWORD format)
if (file) {
fclose(file);
}
HeapFree(GetProcessHeap(), 0, reg_key_name);
HeapFree(GetProcessHeap(), 0, reg_key_name_buf);
HeapFree(GetProcessHeap(), 0, val_name_buf);
HeapFree(GetProcessHeap(), 0, val_buf);
HeapFree(GetProcessHeap(), 0, line_buf);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

View file

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

View file

@ -20,12 +20,11 @@
*/
#include "regedit.h"
#include <strsafe.h>
const WCHAR g_szGeneralRegKey[] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Regedit";
DECLSPEC_IMPORT ULONG WINAPIV DbgPrint(PCH Format,...);
/*
/*
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
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 IDI_SHELL_FOLDER 4
#define IDI_SHELL_FOLDER_OPEN 5
#define IDI_SHELL_MY_COMPUTER 16
static BOOL get_item_path(HWND hwndTV, HTREEITEM hItem, HKEY* phKey, LPWSTR* pKeyPath, int* pPathLen, int* pMaxLen)
{
TVITEMW item;
@ -439,23 +443,20 @@ static BOOL InitTreeViewImageLists(HWND hwndTV)
{
HIMAGELIST himl; /* handle to image list */
HICON hico; /* handle to icon */
INT cx = GetSystemMetrics(SM_CXSMICON);
INT cy = GetSystemMetrics(SM_CYSMICON);
HMODULE hShell32 = GetModuleHandleW(L"shell32.dll");
/* Create the image list. */
if ((himl = ImageList_Create(GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
ILC_MASK | ILC_COLOR32,
0,
NUM_ICONS)) == NULL)
{
if ((himl = ImageList_Create(cx, cy, ILC_MASK | ILC_COLOR32, 0, NUM_ICONS)) == NULL)
return FALSE;
}
/* Add the open file, closed file, and document bitmaps. */
hico = LoadImageW(hInst,
MAKEINTRESOURCEW(IDI_OPEN_FILE),
hico = LoadImageW(hShell32,
MAKEINTRESOURCEW(IDI_SHELL_FOLDER_OPEN),
IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
cx,
cy,
0);
if (hico)
{
@ -463,11 +464,11 @@ static BOOL InitTreeViewImageLists(HWND hwndTV)
DestroyIcon(hico);
}
hico = LoadImageW(hInst,
MAKEINTRESOURCEW(IDI_CLOSED_FILE),
hico = LoadImageW(hShell32,
MAKEINTRESOURCEW(IDI_SHELL_FOLDER),
IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
cx,
cy,
0);
if (hico)
{
@ -475,11 +476,11 @@ static BOOL InitTreeViewImageLists(HWND hwndTV)
DestroyIcon(hico);
}
hico = LoadImageW(hInst,
MAKEINTRESOURCEW(IDI_ROOT),
hico = LoadImageW(hShell32,
MAKEINTRESOURCEW(IDI_SHELL_MY_COMPUTER),
IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
cx,
cy,
0);
if (hico)
{
@ -625,6 +626,98 @@ done:
return bSuccess;
}
BOOL TreeWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
{
UNREFERENCED_PARAMETER(wParam);
*Result = TRUE;
switch (((LPNMHDR)lParam)->code)
{
case TVN_ITEMEXPANDING:
*Result = !OnTreeExpanding(g_pChildWnd->hTreeWnd, (NMTREEVIEW*)lParam);
return TRUE;
case TVN_SELCHANGED:
{
NMTREEVIEW* pnmtv = (NMTREEVIEW*)lParam;
HTREEITEM hParentItem = TreeView_GetParent(g_pChildWnd->hTreeWnd, pnmtv->itemNew.hItem);
UpdateAddress(pnmtv->itemNew.hItem, NULL, NULL, TRUE);
EnableMenuItem(hMenuFrame, ID_EDIT_PERMISSIONS, MF_BYCOMMAND | (hParentItem ? MF_ENABLED : MF_GRAYED));
if (!hParentItem || !TreeView_GetParent(g_pChildWnd->hTreeWnd, hParentItem))
{
EnableMenuItem(hMenuFrame , ID_EDIT_DELETE, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(hMenuFrame , ID_EDIT_RENAME, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(hPopupMenus, ID_TREE_DELETE, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(hPopupMenus, ID_TREE_RENAME, MF_BYCOMMAND | MF_GRAYED);
}
else
{
EnableMenuItem(hMenuFrame , ID_EDIT_DELETE, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(hMenuFrame , ID_EDIT_RENAME, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(hPopupMenus, ID_TREE_DELETE, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(hPopupMenus, ID_TREE_RENAME, MF_BYCOMMAND | MF_ENABLED);
}
return TRUE;
}
case NM_SETFOCUS:
g_pChildWnd->nFocusPanel = 0;
break;
case TVN_BEGINLABELEDIT:
{
LPNMTVDISPINFO ptvdi = (LPNMTVDISPINFO)lParam;
if (!TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem) ||
!TreeView_GetParent(g_pChildWnd->hTreeWnd, TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem)))
{
*Result = TRUE;
}
else
*Result = FALSE;
return TRUE;
}
case TVN_ENDLABELEDIT:
{
LPCWSTR keyPath;
HKEY hRootKey;
HKEY hKey = NULL;
LPNMTVDISPINFO ptvdi = (LPNMTVDISPINFO)lParam;
LONG nRenResult;
LONG lResult = TRUE;
WCHAR szBuffer[MAX_PATH];
WCHAR Caption[128];
if (ptvdi->item.pszText)
{
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, TreeView_GetParent(g_pChildWnd->hTreeWnd, ptvdi->item.hItem), &hRootKey);
if (wcslen(keyPath))
_snwprintf(szBuffer, COUNT_OF(szBuffer), L"%s\\%s", keyPath, ptvdi->item.pszText);
else
_snwprintf(szBuffer, COUNT_OF(szBuffer), L"%s", ptvdi->item.pszText);
keyPath = GetItemPath(g_pChildWnd->hTreeWnd, ptvdi->item.hItem, &hRootKey);
if (RegOpenKeyExW(hRootKey, szBuffer, 0, KEY_READ, &hKey) == ERROR_SUCCESS)
{
lResult = FALSE;
RegCloseKey(hKey);
TreeView_EditLabel(g_pChildWnd->hTreeWnd, ptvdi->item.hItem);
}
else
{
nRenResult = RenameKey(hRootKey, keyPath, ptvdi->item.pszText);
if (nRenResult != ERROR_SUCCESS)
{
LoadStringW(hInst, IDS_ERROR, Caption, COUNT_OF(Caption));
ErrorMessageBox(hWnd, Caption, nRenResult);
lResult = FALSE;
}
else
UpdateAddress(ptvdi->item.hItem, hRootKey, szBuffer, FALSE);
}
*Result = lResult;
}
return TRUE;
}
}
return FALSE;
}
/*
* CreateTreeView - creates a tree view control.
@ -687,8 +780,13 @@ BOOL SelectNode(HWND hwndTV, LPCWSTR keyPath)
while(keyPath[0])
{
size_t copyLength;
s = wcschr(keyPath, L'\\');
lstrcpynW(szPathPart, keyPath, s ? s - keyPath + 1 : wcslen(keyPath) + 1);
if (s != NULL)
copyLength = (s - keyPath) * sizeof(WCHAR);
else
copyLength = sizeof(szPathPart);
StringCbCopyNW(szPathPart, sizeof(szPathPart), keyPath, copyLength);
/* Special case for root to expand root key abbreviations */
if (hItem == hRoot)