Показать сообщение отдельно
  #13  
Старый 04.01.2012, 21:43
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

В том варианте как у тебя написано, после обработки Msg.Msg=WM_HOTKEY управление передаётся на обработчик по-умолчанию (DefWindowProс), но если сделать так:
Код:
procedure THotKey.HookProc(var Msg: TMessage);
begin
  if (Msg.Msg = WM_HOTKEY) then
  begin
    if Assigned(FOnHotKey) then FOnHotKey(Self);
    Exit;
  end;
  Msg.Result := DefWindowProс(FWnd,Msg.Msg,Msg.WParam, Msg.LParam);
end;
то обработка прервётся для данного сообщения и в "Блокнот" уже ничего не вставишь. Можешь принудительно послать на дальнейшую обработку:
Код:
procedure THotKey.HookProc(var Msg: TMessage);
begin
  if (Msg.Msg = WM_HOTKEY) then
  begin
    if Assigned(FOnHotKey) then FOnHotKey(Self);
    Msg.Result := DefWindowProс(FWnd,Msg.Msg,Msg.WParam, Msg.LParam);
  end;
  Msg.Result := DefWindowProс(FWnd,Msg.Msg,Msg.WParam, Msg.LParam);
end;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием