Конференция "WinAPI" » Помогите закрыть вкладку браузера Opera [D7, WinXP]
 
  • rider_j (03.06.08 13:51) [0]
    Здравствуйте, помогите закрыть вкладку браузера Opera. Нахожу хендл окна оперы, пробую CloseWindow а она просто сворачивается и всё :(

    function closewn (Wd: HWnd; Param: LongInt): Boolean; stdcall;
    var
    nm:array [0..255] of char;
    s,t:string;
    i:integer;
    f:boolean;
    begin
    GetWindowText(wd,nm,255);
    s:=string(nm);
      if s<>'' then begin
       f:=false;
       i:=1;
       t:=' - Opera';
        while i<=length(s) do begin
           if t=copy(s,i,length(t)) then f:=true;
          i:=i+1;
        end;

    // если нашли оперу
         if f=true then closewindow(wd);
      end;
    closewn := TRUE;
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    EnumWindows(@closewn, 0); // ищем оперу, чтобы закрыть текущую вкладку
    end;
  • TForumHelp © (03.06.08 16:28) [1]
    значит при обработке опера сворачивает вкладку.
    попробуй
    SendMessage(wd, WM_CLOSE, 0, 0);

    или
    PostMessage


    да и вообще сначала надо в опере вкладку найти и взять ее хэндл.
  • multiflex (16.06.08 17:40) [2]
    не надо дескриптор вкладки. посылай в окно оперы сообщение о нажатии сочетания клавиш закрытия вкладки (CRTL+W), загугли Keyboard Events - первые 3 ссылки твои.
  • Rouse_ © (16.06.08 17:54) [3]

    > пробую CloseWindow а она просто сворачивается и всё :(

    А какую реакцию ты ожидаешь от выполнения CloseWindow?
  • DVM © (16.06.08 22:24) [4]
    С дочерними окнами оперы не все так просто. Там не обычные стандартные контролы.
 
Конференция "WinAPI" » Помогите закрыть вкладку браузера Opera [D7, WinXP]
Есть новые Нет новых   [134433   +22][b:0][p:0.001]