Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отправить в приложение символ в Unicode? [D7, WinXP]


grigor ©   (2010-10-25 15:31:00) 

Допустим надо отправлять в приложение букву Ä или Ö.


NikB   (2010-11-10 16:36:00) [1]

Извините, пожалуйста!


Anatoly Podgoretsky   (2010-11-10 16:09:00) [2]


> Вопрос был о Unicode, а Unicode не 255 кодов.

К тому же вопрос был не твой, ты в него влез, как будто места мало.


clickmaker   (2010-11-10 16:08:00) [3]

> Вопрос был о Unicode, а Unicode не 255 кодов.

а в уникоде нет понятия 1251 или 1252. Это отдельный набор символов
см.  SendInput()


Anatoly Podgoretsky   (2010-11-10 16:07:00) [4]

Зачем тогда спрашиваешь

> А 1251 как сделать?

Для Юникода надо использовать Юникод версию - SendMessageW
Только проверь, что она объявлена в windows.pas


NikB   (2010-11-10 16:01:00) [5]

Да, проблем.
Вопрос был о Unicode, а Unicode не 255 кодов.


clickmaker   (2010-11-10 15:54:00) [6]

> но не сумел послать 1251

1251 нельзя послать, ибо это зависит от набора символов, который использует тот, кому посылаешь
можно послать код, а как его получатель отобразит - его дело


Anatoly Podgoretsky   (2010-11-10 15:54:00) [7]

АNSI это 256 кодов, которые можно как угодно интерпритировать, тебе надо 1251 ну так и интерпритируй (считай) как 1251


NikB   (2010-11-10 15:29:00) [8]

ANSI - это 1252?
> http://ascii-table.com/ansi-codes.php


А 1251 как сделать?
Я писал маленкую прогу, которая работает с Yahoo msg и Skype (находит активное окно и т.д.), но не сумел послать 1251.
В основном:
     if xWParam>=$20 then begin
       SendMessage( aHandle, WM_CHAR,    xWParam, 0); //1);
     end else begin
       SendMessage( aHandle, WM_KEYDOWN, xWParam, 0); //1);
       SendMessage( aHandle, WM_CHAR,    xWParam, 0); //1);
       SendMessage( aHandle, WM_KeyUp,   xWParam, 0); //$C0000001);
     end;


Anatoly Podgoretsky   (2010-11-08 16:47:00) [9]

> clickmaker  (08.11.2010 16:26:06)  [6]

Это ANSI код


clickmaker   (2010-11-08 16:26:00) [10]

> от куда (и как) взялось $00C4 (196, decimal)?

charmap.exe


NikB   (2010-11-08 16:03:00) [11]


> Допустим надо отправлять в приложение букву Ä

Пожалуйста, а от куда (и как) взялось $00C4 (196, decimal)?


grigor   (2010-10-27 16:51:00) [12]

Все, спасибо, сам разобрался


grigor   (2010-10-27 16:45:00) [13]

А как определить хендл активного текстового поля в чужом приложении чтобы ему это отослать? А то GetActiveWindow принимает хендл окна, а оно не регистрирует сообщение WM_CHAR.


grigor   (2010-10-27 16:39:00) [14]

Спасибо!


Leonid Troyanovsky   (2010-10-25 16:19:00) [15]


> grigor   (25.10.10 15:31)  

> Допустим надо отправлять в приложение букву Ä

PostMessageW(wnd, WM_CHAR, WPARAM($00C4), 0)

--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо