HNK  Цитата: создать список HookWindowEvents и оттуда вызывать скрипт 
  
 Код: 
 Local hh=win.handle("c=КлассОкна") 
 if(activewindow(hh))do 
 *Bar Close имя_панели 
 endif 
 Quit 
  
    Вопрос не в том, чтобы  только автоматически закрывать панель при активизации определенного окна, но чтобы показать при переходе в другое окно.   
 Получился такой скрипт:   
 /* 
    BarHider   
    Скрытие/отображение панель для отдельных программ. 
    Панель не скрывается для программ, окно которых не развёрнуто максимально. 
 */     
 // Если панель выключена вручную никаких действий не выполняется   
 If ( PProFlag( 0 ) == 0 ) Do   
    Local hWnd = Win.Handle( "=FireFox" )   
    If ( ActiveWindow( hWnd ) == 0 ) Do 
       Jump BarShow 
    Else   
       // Отловлено окно требуемой программы и это окно не развёрнуто 
       // во весь экран   
       If ( Win.Maxxed( hWnd ) ) Do 
          If ( cl.GetBarHandle( "(Top)" ) != "" ) Do 
             cl.Close( "(Top)" ) 
          Endif 
       Else 
          Jump BarShow 
       Endif   
    Endif      
 Endif   
 Quit     
 // Включить панель при её отсутствии   
 @BarShow   
 If ( cl.GetBarHandle( "(Top)" ) == "" ) Do 
    cl.Show( "(Top)" ) 
 Endif   
 Quit     
 // Ручное выключение/ включение панели   
 Function Visible 
 If ( cl.getBarHandle( "(Top)" ) == "" ) Do 
    cl.Show( "(Top)" ) 
    Flag clear 0 0 
 Else 
    cl.Close( "(Top)" ) 
    // Отметка "Панель выключена вручную" 
    Flag set 0 0 
 EndIf   
 Quit   
 В HookWindowEvents вставляется вызов .BarHider, дополнительно на горячую клавишу навешивается .BarHider@Visible для ручного управления.