• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Delphi Как Delphi определяет, что приложение не отвечает

  • Автор темы Автор темы Lomanu4
  • Дата начала Дата начала

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,467
Баллы
155
Код:
unit Unit1;
 
 interface
 
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls;
 
 type
   TForm1 = class(TForm)
     Button1: TButton;
     procedure Button1Click(Sender: TObject);
   private
     { Private declarations }
   public
     { Public declarations }
   end;
 
 var
   Form1: TForm1;
 
 implementation
 
 {$R *.dfm}
 
 function AppFrozen(H: HWND) : Boolean;
 var
   dwResult: DWord;
 const
   timeout = 3000; // ms
 begin
   AppFrozen := SendMessageTimeout(H, WM_NULL, 0, 0,
                                   SMTO_ABORTIFHUNG or SMTO_BLOCK,
                                   timeout, dwResult) <> 0
 end;
 
 
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
   H: HWND;
 
 begin
 
   H := FindWindow(nil, 'Name of Application');
   if H<>0 then
     if AppFrozen(H) then
       ShowMessage('This Application is Frozen!');
 
 
 end;
 
 end.
 
Вверх Снизу