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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2009, 23:55   #21
Kvinto
Пользователь
 
Регистрация: 09.07.2009
Сообщений: 29
По умолчанию

Ну вот... Борьба с RADIO CHECKER PRO продолжается!

Теперь он закрываться не хочет...

Код:
h:=FindWindow('TRadioChecker',nil);
SendMessage(h,WM_DESTROY,0,0);
Не закрывается! Как быть?
Kvinto вне форума Ответить с цитированием
Старый 25.11.2009, 08:53   #22
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

а так:
PostMessage(WM_SYSCOMMAND,SC_CLOSE, 0);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2009, 09:26   #23
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

и так
Код:
SendMessage(findwindow('TRadioChecker',nil),WM_SYSCOMMAND,SC_CLOSE,0);
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 25.11.2009, 11:16   #24
Kvinto
Пользователь
 
Регистрация: 09.07.2009
Сообщений: 29
По умолчанию

Ясно...

Попробовал просто

Код:
SendMessage(h,WM_CLOSE,0,0);
Закрылось...

А как вообще правильно?
Kvinto вне форума Ответить с цитированием
Старый 12.07.2016, 10:37   #25
readmy
Новичок
Джуниор
 
Регистрация: 12.07.2016
Сообщений: 1
По умолчанию мой рабочий вариант

Форма. на ней Label1 и 2 кнопки
1 кнопка Включение образца с постановкой на слежение Образец 3
2-я кнопка Clr Labrel просто очищает Label1
При загрузки программы происходит Включение образца с постановкой на слежение.
после срабатывания образца, программа запускает бат файл.
В моем случае, ловил тишину и перезапускал VLC

Код:
unit checker;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    btn1: TButton;
    btn2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure btn1Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
  private
    function GetCheckerHandle:Integer;
    function SendWindowClassName(ClassName: string): Integer;
    procedure CheckerMessage (var Msg: TMessage); message WM_USER;
//    procedure TCheckerHandler.CheckerMessage (var Msg: TMessage);

    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  CheckerHandle:Integer;
implementation




{$R *.dfm}

{ TForm1 }


function TForm1.GetCheckerHandle: Integer;
begin
  Result := FindWindow('TRadioChecker', nil);
end;

function TForm1.SendWindowClassName(ClassName: string): Integer;
var
Struct: COPYDATASTRUCT;
pch: array[0..255] of Char;

begin
CheckerHandle := GetCheckerHandle;
Struct.dwData := 1000;
Struct.lpData := StrPCopy(pch, ClassName);
Struct.cbData := StrLen(Struct.lpData) + 1;
SendMessage(CheckerHandle, WM_COPYDATA, 0, LPARAM(@Struct));

end;


procedure TForm1.FormCreate(Sender: TObject);
begin
 // Caiiieiaai Handle

  CheckerHandle := GetCheckerHandle;
  SendMessage(CheckerHandle, WM_USER, 100, Handle);
  Label1.Caption :=IntToStr(CheckerHandle);
  SendMessage(CheckerHandle, WM_USER, 2012, 2);
end;

procedure TForm1.CheckerMessage(var Msg: TMessage);
var
  BatchFileName: string;
begin
   BatchFileName:='c:\run\vlc-restart.bat';
   case Msg.wParam of
     2000: if msg.lparam = 2 then
      begin
        Label1.Caption := IntTostr(msg.lparam) + 'O?A ?AAIOAAO'; // aaoe aaenoaey
        winexec(Pchar(BatchFileName),sw_hide);

      end;
   end
end;



procedure TForm1.btn1Click(Sender: TObject);
begin
  SendMessage(CheckerHandle, WM_USER, 2012, 2);
end;

procedure TForm1.btn2Click(Sender: TObject);
begin
Label1.Caption := '';
end;

end.
readmy вне форума Ответить с цитированием
Старый 12.07.2016, 19:15   #26
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Это конечно хорошо, но...ещё древнее тему найти не смог?
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
собрать команду из кода операции и операнда Olejik Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 15 07.06.2009 01:46
Кто поможет студенту ?? Angelholy Помощь студентам 0 03.05.2009 14:07
Кто поможет??? sashahttp Общие вопросы Delphi 1 24.06.2008 09:15