[Delphi] Присвоить кнопке чужого окна значение "Enabled= false"

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by KGB, 3 Jan 2011.

  1. KGB

    KGB Member

    Joined:
    6 Dec 2010
    Messages:
    129
    Likes Received:
    5
    Reputations:
    0
    Привет всем!
    Нужно присвоить кнопке "Запретить" этого окна значение "Enabled:=false".

    [​IMG]

    Я получил иерархию этого окна, с помощью Win Spy.

    [​IMG]

    Делал так:

    var
    Hd1,Hd2,Hd3,Hd4:HWND; //переменные для дескрипторов окон
    begin
    HD1:=FindWindow(nil,PChar('Исходящий трафик'));
    if HD1<>0 then
    begin //Если нашли, то
    HD2:=FindWindowEx(Hd1,0,PChar('ESET Content Window'),nil);
    ShowMessage('Окно найдено');
    end;
    if Hd2<>0 then
    begin
    HD3:=FindWindowEx(Hd2,0,nil,PChar('ESET Panel Content Buttons Window')); //Ищем кнопку по названию
    ShowMessage('Первая панель найдена');
    end;
    if Hd3<>0 then
    begin
    HD4:=FindWindowEx(Hd3,0,nil,PChar('ESET Button Window'));
    if Hd4<>0 then
    ShowMessage('Кнопка найдена');
    EnableWindow(Hd4,false); //Вырубаем кнопку
    end;

    Но удалось найти только первую панель, а вторую панель, а значит и кнопку программа не находит. Подскажите в чем дело. :(
    Как заблокировать нужную мне кнопку, ведь их там две, с одинаковым классом, а caption у них нет?
     
    #1 KGB, 3 Jan 2011
    Last edited: 3 Jan 2011
  2. Mr.Burns

    Mr.Burns Banned

    Joined:
    13 Aug 2010
    Messages:
    28
    Likes Received:
    10
    Reputations:
    0
    смотришь положение кнопок GetWindowRect, соответственно ту что правее нужно задисейблить.

    Капитан Очевидность. Он здесь.
     
  3. KGB

    KGB Member

    Joined:
    6 Dec 2010
    Messages:
    129
    Likes Received:
    5
    Reputations:
    0
    А почему приведеный мною код не работает?
     
  4. KGB

    KGB Member

    Joined:
    6 Dec 2010
    Messages:
    129
    Likes Received:
    5
    Reputations:
    0
    Кто может ответить, почему мой код не работает? :confused: