kunni |
Отправлено: 27 Июня, 2016 - 21:38:50
|
Наблюдатель
Покинул форум
Сообщений всего: 37
Дата рег-ции: Дек. 2014
Репутация: 2
|
Как это не ошибка?
Странно как-то получается.
Вот я запускаю собранный exe. Открывает окно с кнопкой ПУСК. Язык стоит русский. В целевом окне (пусть будет блокнот) стоит русский. Для верности добавим команду перед вставкой:
CODE:win w=window (-1, "Edit", window ("тест.txt — Блокнот", "Notepad", -1));
writeclipboard("всем привет");
pause(1500);
ctrl_v();
//CTRL+V вставить
function ctrl_v(){sendlanguage("00000419", w); keydown (CONTROL); key ('v'); keyup (CONTROL);}
Жмем кнопку пуск. В блокнот вставляется русское сообщение, все хорошо. Скрипт заканчивает свою работу и возвращает окно с кнопкой ПУСК. Язык уже стоит Английский (в exe кибор). Повторный запуск - вставляются иероглифы.
Это как? Это зачем он вернулся к английскому? Ладно в редакторе, а в собранном exe зачем?
Я понял, как с помощью sendlanguage поменять язык в целевом для вставке окне (в блокноте). Как поменять язык до запуска exe кибор?
Пример. Пользователь скачивает мой exe и запускает его. Это ему нужно проверять, чтобы перед запуском exe скрипта у него стоял русский язык?(Отредактировано автором: 27 Июня, 2016 - 21:44:45) |
|
|
Kibor |
Отправлено: 27 Июня, 2016 - 22:09:15
|
Эксперт
Покинул форум
Сообщений всего: 8218
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
kunni пишет: Как это не ошибка?
Нет.. Конечно безусловно ошибка.. ошибка программирования.
CODE:win w=window ("Безымянный — Блокнот", "Notepad", -1);
sendlanguage("00000419", w);
writeclipboard("всем привет");
pause(1500);
ctrl_v();
//CTRL+V вставить
function ctrl_v()
{
keydown (CONTROL); key ('v'); keyup (CONTROL);
}
Блокнот один должен быть. указатель не на edit. он на окно быть должен...... |
|
|
kunni |
Отправлено: 27 Июня, 2016 - 22:23:21
|
Наблюдатель
Покинул форум
Сообщений всего: 37
Дата рег-ции: Дек. 2014
Репутация: 2
|
Kibor пишет: Нет.. Конечно безусловно ошибка.. ошибка программирования.
Прошу прощения. Делал проверочный скрипт на скорую руку. Безусловно, edit тут ни при чем. С вашим вариантом работает.
Все тонкости кибор мне еще предстоит познать! Очень нуждаюсь в более подробных статьях по старым функциям (например window), те, что на сайте в учебнике, очень сложны для понимания. Все функции, описанные на форуме, было гораздо проще осмыслить, в них куча примеров, разъяснений и способов применения.
В очередной ннадцатый раз большое СПАСИБО!
З.Ы. В моем скрипте, из-за которого мне пришлось создать эту тему, действительно в какой-то момент происходит переключение языка на английский, хотя это не требуется. Буду искать и для верности перед КОНТРЛ+В добавлю sendlanguage
(Добавление)
А вот и собственно то самое переключение раскладки посреди скрипта, из-за которого весь сыр-бор:
key ('v', 1, 1, w); вместо key ('v', 1, 0, w); или лучше key ('м', 1, 1, w);// м-русское
Так что и sendlanguage не понадобился!(Отредактировано автором: 27 Июня, 2016 - 22:29:20) |
|
|
|