Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2016, 00:51   #11
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,220
По умолчанию

Просто наброска в качестве демонстрации, для использования на практике требует доработок:

Код:
    Timeout: Integer;
    NoButton: HWND;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timeout := 10;
  NoButton := 0;
  TimeoutTimer.Interval := 1;
  TimeoutTimer.Enabled := True;
  if MessageBox(Handle, 'Вы уверены в этом?', 'Запрос', MB_ICONQUESTION+MB_YESNO) = MRYES
    then ShowMessage('Да')
    else ShowMessage('Нет');
end;

procedure TForm1.TimeoutTimerTimer(Sender: TObject);
var
  Wnd: HWND;
begin
  if NoButton = 0 then begin
    Wnd := FindWindow('#32770', 'Запрос');
    if Wnd <> 0 then begin
      NoButton := FindWindowEx(Wnd, 0, 'Button', '&Нет');
    end;
    if NoButton = 0 then begin
      TimeoutTimer.Enabled := False;
      Exit;
    end;
    TimeoutTimer.Interval := 1000;
  end;
  SetWindowText(NoButton, PChar('&Нет (' + IntToStr(Timeout) + ')'));
  Dec(Timeout);
  if Timeout < 0 then begin
    TimeoutTimer.Enabled := False;
    TimeoutTimer.Interval := 1;
    PostMessage(NoButton, BM_CLICK, 0, 0);
    NoButton := 0;
  end;
end;
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автозаполнение макроса времени с секундами Staller Microsoft Office Excel 13 26.06.2014 13:37
MessageBox kineziz Общие вопросы C/C++ 2 19.04.2012 03:38
MessageBox riko782 Windows Forms 1 17.04.2012 01:39
MessageBox CraZZZy-GameRRR Общие вопросы Delphi 7 30.05.2010 01:42
messageBox Andrey174rus Общие вопросы Delphi 4 10.10.2009 17:45