Nikolay Sivov (@nsivov) commented about dlls/comctl32/tab.c:
TAB_EnsureSelectionVisible(infoPtr); TAB_InvalidateTabArea(infoPtr);
if (iItem >= 0)
NotifyWinEvent(EVENT_OBJECT_SELECTION, infoPtr->hwnd, OBJID_CLIENT, iItem + 1);
else
NotifyWinEvent(EVENT_OBJECT_SELECTION, infoPtr->hwnd, OBJID_CLIENT, 0);
You could do that unconditionally, with "infoPtr->iSelected + 1" argument.