void UpdateStatusBar(void)
{
- NMHDR nmhdr;
- ZeroMemory(&nmhdr, sizeof(NMHDR));
- nmhdr.code = TVN_SELCHANGED;
- SendMessageW(g_pChildWnd->hWnd, WM_NOTIFY, (WPARAM)TREE_WINDOW, (LPARAM)&nmhdr);
+ HKEY hKeyRoot;
+ LPCWSTR pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot);
+
+ SendMessageW(hStatusBar, SB_SETTEXTW, 0, (LPARAM)pszKeyPath);
}
static void toggle_child(HWND hWnd, UINT cmd, HWND hchild)
{
BOOL bRet = FALSE;
OPENFILENAME ofn;
- WCHAR ExportKeyPath[_MAX_PATH];
+ WCHAR ExportKeyPath[_MAX_PATH] = {0};
WCHAR Caption[128], szTitle[512], szText[512];
HKEY hKeyRoot;
LPCWSTR pszKeyPath;
if (RegOpenKeyExW(HKEY_CURRENT_USER, s_szFavoritesRegKey, 0, KEY_QUERY_VALUE, &hKey) != ERROR_SUCCESS)
goto done;
- cbData = (sizeof(szFavoritePath) / sizeof(szFavoritePath[0])) - 1;
+ cbData = sizeof(szFavoritePath);
memset(szFavoritePath, 0, sizeof(szFavoritePath));
if (RegQueryValueExW(hKey, pszFavorite, NULL, &dwType, (LPBYTE) szFavoritePath, &cbData) != ERROR_SUCCESS)
goto done;
LPCWSTR valueName;
BOOL result = TRUE;
REGSAM regsam = KEY_READ;
- LONG lRet;
int item;
UNREFERENCED_PARAMETER(lParam);
valueName = GetValueName(g_pChildWnd->hListWnd, -1);
if (keyPath)
{
- lRet = RegOpenKeyExW(hKeyRoot, keyPath, 0, regsam, &hKey);
- if (lRet != ERROR_SUCCESS) hKey = 0;
+ if (RegOpenKeyExW(hKeyRoot, keyPath, 0, regsam, &hKey) != ERROR_SUCCESS)
+ hKey = 0;
}
switch (LOWORD(wParam))
break;
case ID_EDIT_DELETE:
{
- if (GetFocus() == g_pChildWnd->hListWnd)
+ if (GetFocus() == g_pChildWnd->hListWnd && hKey)
{
UINT nSelected = ListView_GetSelectedCount(g_pChildWnd->hListWnd);
if(nSelected >= 1)
}
else if (GetFocus() == g_pChildWnd->hTreeWnd)
{
- if (keyPath == 0 || *keyPath == 0)
+ if (keyPath == NULL || *keyPath == UNICODE_NULL)
{
MessageBeep(MB_ICONHAND);
}
return DefWindowProcW(hWnd, message, wParam, lParam);
break;
case WM_ACTIVATE:
- if (LOWORD(hWnd))
+ if (LOWORD(hWnd) && g_pChildWnd)
SetFocus(g_pChildWnd->hWnd);
break;
case WM_SIZE: