* bump to 2.23

* delay load Users menu

git-svn-id: svn://svn.code.sf.net/p/processhacker/code@4707 21ef857c-d57f-4fe0-8362-d861dc6d29cd
This commit is contained in:
wj32
2011-09-21 04:26:33 +00:00
parent 83169c4f6d
commit 61b3e1487c
3 changed files with 34 additions and 7 deletions
@@ -60,6 +60,12 @@ VOID PhMwpOnMenuCommand(
__in HMENU Menu
);
VOID PhMwpOnInitMenuPopup(
__in HMENU Menu,
__in ULONG Index,
__in BOOLEAN IsWindowMenu
);
VOID PhMwpOnSize(
VOID
);
+2 -2
View File
@@ -1,4 +1,4 @@
#define PHAPP_VERSION_MAJOR 2
#define PHAPP_VERSION_MINOR 22
#define PHAPP_VERSION_MINOR 23
#define PHAPP_VERSION_REVISION 0
#define PHAPP_VERSION_STRING "2.22"
#define PHAPP_VERSION_STRING "2.23"
+26 -5
View File
@@ -71,6 +71,8 @@ static HFONT CurrentCustomFont;
static BOOLEAN NetworkFirstTime = TRUE;
static BOOLEAN ServiceTreeListLoaded = FALSE;
static BOOLEAN NetworkTreeListLoaded = FALSE;
static HMENU UsersMenuHandle;
static BOOLEAN UsersMenuInitialized = FALSE;
static BOOLEAN UpdateAutomatically = TRUE;
static PH_CALLBACK_REGISTRATION SymInitRegistration;
@@ -168,6 +170,7 @@ BOOLEAN PhMainWndInitialization(
return FALSE;
PhMwpInitializeMainMenu(PhMainWndMenuHandle);
UsersMenuHandle = GetSubMenu(PhMainWndMenuHandle, 3);
// Choose a more appropriate rectangle for the window.
PhAdjustRectangleToWorkingArea(
@@ -276,10 +279,6 @@ BOOLEAN PhMainWndInitialization(
if (ShowCommand != SW_HIDE)
ShowWindow(PhMainWndHandle, ShowCommand);
// TS notification registration is done in the delayed load function. It's therefore
// possible that we miss a notification, but it's a trade-off.
PhMwpUpdateUsersMenu();
return TRUE;
}
@@ -328,6 +327,11 @@ LRESULT CALLBACK PhMwpWndProc(
PhMwpOnMenuCommand((ULONG)wParam, (HMENU)lParam);
}
break;
case WM_INITMENUPOPUP:
{
PhMwpOnInitMenuPopup((HMENU)wParam, LOWORD(lParam), !!HIWORD(lParam));
}
break;
case WM_SIZE:
{
PhMwpOnSize();
@@ -1799,6 +1803,22 @@ VOID PhMwpOnMenuCommand(
}
}
VOID PhMwpOnInitMenuPopup(
__in HMENU Menu,
__in ULONG Index,
__in BOOLEAN IsWindowMenu
)
{
if (Menu == UsersMenuHandle)
{
if (!UsersMenuInitialized)
{
PhMwpUpdateUsersMenu();
UsersMenuInitialized = TRUE;
}
}
}
VOID PhMwpOnSize(
VOID
)
@@ -1922,6 +1942,7 @@ VOID PhMwpOnWtsSessionChange(
if (Reason == WTS_SESSION_LOGON || Reason == WTS_SESSION_LOGOFF)
{
PhMwpUpdateUsersMenu();
UsersMenuInitialized = TRUE;
}
}
@@ -4581,7 +4602,7 @@ VOID PhMwpUpdateUsersMenu(
ULONG j;
MENUITEMINFO menuItemInfo = { sizeof(MENUITEMINFO) };
menu = GetSubMenu(PhMainWndMenuHandle, 3);
menu = UsersMenuHandle;
// Delete all items in the Users menu.
while (DeleteMenu(menu, 0, MF_BYPOSITION)) ;