mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 13:34:53 +00:00
[0.4.9][REGEDIT] Port back several improvements and crash-fixes
0.4.15-dev-5985-g31fdaca8c0
[REGEDIT] Strip redundant include, minor formatting (#5264) 0.4.15-dev-5970-g9d7d3314b3
[REGEDIT] Check whether pszSelectKey is NULL on CDN_FILEOK (#5255) 0.4.15-dev-5898-g84e580b67e
[REGEDIT] Fix ListView selection and finding (#5150) (superseded) 0.4.15-dev-5802-gcce3eb9393
Fix buffer read past end problem. (#5146) CORE-15896 and CORE-18230 partially 0.4.15-dev-5753-g1ee9ea4518
[REGEDIT] Avoid buffer overflow in SelectNode. CORE-18602 (I left the wscpy-replacement at the end for the fixed size strings, as they would increase binary size, and are totally safe) partially 0.4.15-dev-5308-g5daf5cd057
[REGEDIT] Use shell icons for the tree view (#4841) CORE-10764 0.4.15-dev-4850-g568383c9b9
[REGEDIT] Fix issue at Find registry key (#4341) partially 0.4.15-dev-2265-gbebdfda8b7
[REGEDIT]... Use newer file open dialog (#3571) 0.4.15-dev-1470-g9de8787187
[REGEDIT] Display search finished messagebox when using Find Next (F3) menu item (#3371) CORE-17368 0.4.15-dev-1302-g6aae5f4fdd
[REGEDIT] Make "finished find" messagebox owned by Regedit window (#3369) CORE-17367 0.4.15-dev-169-g0461de33c5
[REGEDIT] Fix HeapFree() on the wrong variable (#2736) 0.4.14-dev-1484-gc832112771
[REGEDIT] Fix tree view popup menu issues CORE-16887 0.4.14-dev-1468-g763de230b2
[REGEDIT] Fix inconsistent menu state for 'Permissions' CORE-16889 a more efficient solution than 0.4.14-dev-1467-gb280615b85
[REGEDIT] Crash on selecting 'New' on root item 'My computer' CORE-16888 0.4.14-dev-1466-g13dd917589
[REGEDIT] CORE-16892 fr-FR Translation update 0.4.13-dev-464-g6b95727282
[REGEDIT] Adjust ListView column widths (#1663) CORE-15187 0.4.12-dev-47-g63a0ac0461
[REGEDIT] Set background brush to child window (#1122) CORE-15442 0.4.11-dev-481-gefbebf983c
[REGEDIT] Improve the layout of controls (#967) CORE-15187 0.4.11-dev-480-ge4c2cff6c8
[REGEDIT] Don't paint background in WM_PAINT (#970) CORE-15187 0.4.11-dev-458-g125db5ead9
[REGEDIT] Trivial resizing code fix (#950) 0.4.11-dev-457-gb3231e0bf5
[REGEDIT] Code formatting (#949) 0.4.10-dev-244-gb9415740a1
[REGEDIT] Fix importing very big *.reg files (HEX values commonly) (#618) a few fragments only of 0.4.15-dev-5304-g36a7f0dc7c
[REGEDIT] framewnd.c resize_frame_rect(), main.h strip externs before func declarations and reordering, treeview.c InitTreeViewImageLists() also port back a few selected translation improvements, and strip the suggestions-feature in older branches <= 0.4.13 which does not exist in 2k3sp2.
This commit is contained in:
parent
ae60c1652b
commit
0ec50cf085
|
@ -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 */
|
||||||
|
|
|
@ -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)
|
||||||
|
@ -52,11 +54,32 @@ extern void ResizeWnd(int cx, int cy)
|
||||||
}
|
}
|
||||||
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;
|
||||||
{
|
|
||||||
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);
|
|
||||||
|
|
||||||
UpdateAddress(pnmtv->itemNew.hItem, NULL, NULL);
|
if (((LPNMHDR)lParam)->idFrom == TREE_WINDOW)
|
||||||
|
|
||||||
/*
|
|
||||||
* 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
|
|
||||||
{
|
|
||||||
if ((int)wParam == LIST_WINDOW && g_pChildWnd != NULL)
|
|
||||||
{
|
|
||||||
switch (((LPNMHDR)lParam)->code)
|
|
||||||
{
|
|
||||||
case NM_SETFOCUS:
|
|
||||||
g_pChildWnd->nFocusPanel = 1;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
if(!ListWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
|
|
||||||
{
|
{
|
||||||
|
if (!TreeWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
|
||||||
goto def;
|
goto def;
|
||||||
}
|
|
||||||
return Result;
|
return Result;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (((LPNMHDR)lParam)->idFrom == LIST_WINDOW)
|
||||||
|
{
|
||||||
|
if (!ListWndNotifyProc(g_pChildWnd->hListWnd, wParam, lParam, &Result))
|
||||||
|
goto def;
|
||||||
|
|
||||||
|
return Result;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
goto def;
|
||||||
}
|
}
|
||||||
break;
|
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;
|
||||||
|
|
|
@ -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<ipel Pilihan", -1, 79, 20, 72, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP | WS_DISABLED
|
||||||
CHECKBOX "&Perluasan Pilihan", -1, 79, 30, 77, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP | WS_DISABLED
|
CHECKBOX "&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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
|
||||||
if (dwType == REG_SZ || dwType == REG_EXPAND_SZ)
|
|
||||||
{
|
{
|
||||||
|
INT i;
|
||||||
|
DWORD dwNorm = ((s_dwFlags & RSF_MATCHCASE) ? NORM_IGNORECASE : 0);
|
||||||
|
|
||||||
if (s_dwFlags & RSF_WHOLESTRING)
|
if (s_dwFlags & RSF_WHOLESTRING)
|
||||||
{
|
return 2 == CompareStringW(LOCALE_SYSTEM_DEFAULT, dwNorm, pch1, cch1, pch2, cch2);
|
||||||
if (s_dwFlags & RSF_MATCHCASE)
|
|
||||||
return 2 == CompareStringW(LOCALE_SYSTEM_DEFAULT, 0,
|
if (cch1 < cch2)
|
||||||
psz1, cch1, psz2, cch2);
|
return FALSE;
|
||||||
else
|
|
||||||
return 2 == CompareStringW(LOCALE_SYSTEM_DEFAULT,
|
|
||||||
NORM_IGNORECASE, psz1, cch1, psz2, cch2);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i <= cch1 - cch2; i++)
|
for (i = 0; i <= cch1 - cch2; i++)
|
||||||
{
|
{
|
||||||
if (s_dwFlags & RSF_MATCHCASE)
|
if (2 == CompareStringW(LOCALE_SYSTEM_DEFAULT, dwNorm, pch1 + i, cch2, pch2, cch2))
|
||||||
{
|
|
||||||
if (2 == CompareStringW(LOCALE_SYSTEM_DEFAULT, 0,
|
|
||||||
psz1 + i, cch2, psz2, cch2))
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static BOOL MatchData(DWORD dwType, LPCVOID pv1, DWORD cb1)
|
||||||
{
|
{
|
||||||
if (2 == CompareStringW(LOCALE_SYSTEM_DEFAULT,
|
if (dwType == REG_SZ || dwType == REG_EXPAND_SZ || dwType == REG_MULTI_SZ)
|
||||||
NORM_IGNORECASE, psz1 + i, cch2, psz2, cch2))
|
return MatchString(pv1, (INT)(cb1 / sizeof(WCHAR)), s_szFindWhat, lstrlenW(s_szFindWhat));
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
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,9 +200,6 @@ BOOL RegFindRecurse(
|
||||||
CompareName(ppszNames[i], s_szFindWhat))
|
CompareName(ppszNames[i], s_szFindWhat))
|
||||||
{
|
{
|
||||||
*ppszFoundSubKey = _wcsdup(szSubKey);
|
*ppszFoundSubKey = _wcsdup(szSubKey);
|
||||||
if (ppszNames[i][0] == 0)
|
|
||||||
*ppszFoundValueName = NULL;
|
|
||||||
else
|
|
||||||
*ppszFoundValueName = _wcsdup(ppszNames[i]);
|
*ppszFoundValueName = _wcsdup(ppszNames[i]);
|
||||||
goto success;
|
goto success;
|
||||||
}
|
}
|
||||||
|
@ -231,13 +216,9 @@ 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 = NULL;
|
|
||||||
else
|
|
||||||
*ppszFoundValueName = _wcsdup(ppszNames[i]);
|
*ppszFoundValueName = _wcsdup(ppszNames[i]);
|
||||||
goto success;
|
goto success;
|
||||||
}
|
}
|
||||||
|
@ -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,11 +670,17 @@ 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);
|
||||||
|
|
||||||
|
if (pszFoundValueName != NULL)
|
||||||
|
{
|
||||||
|
SetValueName(g_pChildWnd->hListWnd, pszFoundValueName);
|
||||||
free(pszFoundValueName);
|
free(pszFoundValueName);
|
||||||
SetFocus(g_pChildWnd->hListWnd);
|
SetFocus(g_pChildWnd->hListWnd);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
SetFocus(g_pChildWnd->hTreeWnd);
|
||||||
|
}
|
||||||
return fSuccess || s_bAbort;
|
return fSuccess || s_bAbort;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -810,10 +799,7 @@ static INT_PTR CALLBACK FindDialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPAR
|
||||||
return iResult;
|
return iResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FindDialog(HWND hWnd)
|
void FindNextMessageBox(HWND hWnd)
|
||||||
{
|
|
||||||
if (DialogBoxParamW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_FIND),
|
|
||||||
hWnd, FindDialogProc, 0) != 0)
|
|
||||||
{
|
{
|
||||||
if (!FindNext(hWnd))
|
if (!FindNext(hWnd))
|
||||||
{
|
{
|
||||||
|
@ -821,7 +807,15 @@ void FindDialog(HWND hWnd)
|
||||||
|
|
||||||
LoadStringW(hInst, IDS_FINISHEDFIND, msg, COUNT_OF(msg));
|
LoadStringW(hInst, IDS_FINISHEDFIND, msg, COUNT_OF(msg));
|
||||||
LoadStringW(hInst, IDS_APP_TITLE, caption, COUNT_OF(caption));
|
LoadStringW(hInst, IDS_APP_TITLE, caption, COUNT_OF(caption));
|
||||||
MessageBoxW(0, msg, caption, MB_ICONINFORMATION);
|
MessageBoxW(hWnd, msg, caption, MB_ICONINFORMATION);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FindDialog(HWND hWnd)
|
||||||
|
{
|
||||||
|
if (DialogBoxParamW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_FIND),
|
||||||
|
hWnd, FindDialogProc, 0) != 0)
|
||||||
|
{
|
||||||
|
FindNextMessageBox(hWnd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,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,13 +1328,15 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
LRESULT CALLBACK FrameWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ 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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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 |
|
@ -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
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#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,...);
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in a new issue