from:http://support.microsoft.com/kb/163282
// For an MFC application the CommandStateChange event could be handled // as follows: #include <exdisp.h> void CBrowserDlg::OnCommandStateChangeExplorer1(long Command, BOOL Enable) { switch(Command) { case CSC_NAVIGATEFORWARD: // m_ctlForward is a CButton type m_ctlForward.EnableWindow(Enable); break; case CSC_NAVIGATEBACK: m_ctlBack.EnableWindow(Enable); break; default: break; } } ' A Visual Basic application can also implement this ' functionality in this manner: Private Sub WebBrowser_CommandStateChange(ByVal Command As Long,ByVal Enable As Boolean) Select Case Command Case CSC_NAVIGATEBACK Back.Enabled = Enable Case CSC_NAVIGATEFORWARD Forward.Enabled = Enable End Select End Sub