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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2012, 10:38   #1
tral
Новичок
Джуниор
 
Регистрация: 08.04.2012
Сообщений: 4
Вопрос вставка unicode символа в активный контрол чужого приложения

Итак, пишется небольшая программа, которая будет ждать нажатия сочетания горячих клавиш (скажем, Shift+Alt+F9), определять активный контрол активного окна и вставлять туда символ (скажем, "à").

ознакомился с http://www.programmersforum.ru/showthread.php?t=20551

работает, но ни в один контрол Mozilla Firefox 11.0 не вставляется символ. В блокнот, Word, Chrome - все ок.

Код:
procedure TForm1.WMHotkey( var msg: TWMHotkey );
var Symbol: word;
    A,B: DWORD;
    ClipBoard:TClipboard;
begin
  if msg.hotkey = 1 then
  begin                     

  A := GetCurrentThreadId;
  B := GetWindowThreadProcessId(GetForegroundWindow, nil);
  if A<>B then AttachThreadInput(A, B, True);
  Symbol := Ord(#0224); // 

  PostMessageW (GetFocus , WM_IME_CHAR, Symbol, 1);

  if A<>B then AttachThreadInput(A, B, false);
                  
  end;
end;
Сдается мне, что я как-то неверно ищу активный контрол активного окна или же firefox не принимает мои мессаги.
Есть идеи?
tral вне форума Ответить с цитированием
Старый 08.04.2012, 13:51   #2
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Цитата:
Сдается мне, что я как-то неверно ищу активный контрол активного окна или же firefox не принимает мои мессаги.
Есть идеи?
Видимо, то, что Вы ищите, отсутствует в мозиле.
Гляньте http://ru.wikipedia.org/wiki/XUL.

Может есть смысл отправить сообщение в очередь непосредственно в главное окно?
Код:
PostMessage(FindWindow(L"MozillaWindowClass", NULL), WM_CHAR, 'A', 0);

Последний раз редактировалось EUGY; 08.04.2012 в 14:07. Причина: орфография
EUGY вне форума Ответить с цитированием
Старый 08.04.2012, 19:58   #3
tral
Новичок
Джуниор
 
Регистрация: 08.04.2012
Сообщений: 4
Печаль

не помогло
tral вне форума Ответить с цитированием
Старый 10.04.2012, 14:39   #4
tral
Новичок
Джуниор
 
Регистрация: 08.04.2012
Сообщений: 4
По умолчанию

ау, пипл, есть идеи?
tral вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двигаю контрол мышкой, почему мышка перемещается быстрее чем контрол PaulRom Microsoft Office Access 0 06.12.2011 11:19
Вставка символа Waqq Помощь студентам 4 03.09.2011 21:11
Вставка символа:) WizarD.89 Microsoft Office Excel 13 03.05.2011 21:47
Данные с чужого приложения Revenger Общие вопросы Delphi 3 12.08.2010 23:07
Hint чужого приложения Umberto Win Api 0 07.02.2010 18:41