![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отправить в приложение символ в 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.