powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / 1C, SendMessage WM_CHAR и русские буквы
4 сообщений из 4, страница 1 из 1
1C, SendMessage WM_CHAR и русские буквы
    #38407823
n0ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу справиться. У меня на входе программы из командной строки некий параметр (кодировка cp1251), который я хочу передать в форму открытую в 1С.

Окно 1Ски нахожу, mdi окно тоже нахожу, пытаюсь передать текст, но не передаются русские символы, всё остальное нормально.

Пробовал так:
Код: plaintext
1.
2.
3.
for (i=0;i<sizeof(str1);i++) { 
  SendMessage(hwnd,WM_CHAR,str1[i],1); 
}


и так

Код: plaintext
1.
2.
3.
4.
i = MultiByteToWideChar(CP_ACP, 0, str1, MAX_PATH, pwc, MAX_PATH); 
for (i=0;i<sizeof(pwc);i++) { 
  SendMessageW(hwnd,WM_CHAR,pwc[i],1); 
}



Чую дело в кодировке, а как решить не пойму.

зы. Пробовал еще SendMessgae WM_SETTEXT - результат такой же, только еще зависит от текущей раскладки клавиатуры.
...
Рейтинг: 0 / 0
1C, SendMessage WM_CHAR и русские буквы
    #38407985
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
n0ther,

Вы хотите передать строку в поле ввода текста (типа TextBox)?
Предварительно отправьте фокус на получающий элемент управления (WM_SETFOCUS).

Другой вариант, через буфер обмена (CLIPBOARD).
В Си-шной программе копируете в буфер, находите окно, ставите в фокус нужный элемент и делаете вставку (WM_PASTE) по хэндлу.
...
Рейтинг: 0 / 0
1C, SendMessage WM_CHAR и русские буквы
    #38408013
n0ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
йоху, получилось
Код: plaintext
1.
2.
3.
4.
i = MultiByteToWideChar(CP_ACP, 0, CmdLinePrms, MAX_PATH, pwc, MAX_PATH);
for (i=0;i<wcslen(pwc);i++) {			
 PostMessageW(hwnd,WM_CHAR,pwc[i],1);
}
...
Рейтинг: 0 / 0
1C, SendMessage WM_CHAR и русские буквы
    #38408342
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
n0therНе могу справиться. У меня на входе программы из командной строки некий параметр (кодировка cp1251), который я хочу передать в форму открытую в 1С.
[/src]


Дело может и не в кодировке, а в том, что ты посылаешь сообщение в другое приложение, у него другая (своя) память.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / 1C, SendMessage WM_CHAR и русские буквы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]