Почему при добавлении в конец скрипта со страницы(для просмотра ссылки Вам необходимо авторизоваться) кода:
sleep(50);
keydown(SHIFT);key(LEFT);
sleep(50);
keyup(SHIFT);
клавиша shift, такое ощущение, что не зажимается, а просто нажимается? Или подскажите другой способ выделения текста определённой длины (для последующего копирования)...
1. BonD - 24 Февраля, 2016 - 01:25:16 - перейти к сообщению
2. Kibor - 24 Февраля, 2016 - 02:49:52 - перейти к сообщению
BonD пишет:
keydown(SHIFT);key(LEFT);
sleep(50);
keyup(SHIFT);
sleep(50);
keyup(SHIFT);
может по этому?
Цитата:
keydown(SHIFT);mouse(LEFT, 501, 331);
sleep(50);
keyup(SHIFT);
sleep(50);
keyup(SHIFT);
3. DeLiberate - 24 Февраля, 2016 - 09:28:51 - перейти к сообщению
Kibor пишет:
может по этому?
Цитата:
keydown(SHIFT);mouse(LEFT, 501, 331);
sleep(50);
keyup(SHIFT);
sleep(50);
keyup(SHIFT);
Автор имел в виду именно стрелку влево.
А keydown(16);
т.е. keydown(SHIFT);
и правда работает некорректно.
Вот это, к примеру, не работает.
CODE:
start ("C:\Windows\System32\notepad.exe");
win test=window ("Безымянный — Блокнот", "Notepad", -1);
pause(1000);
activate(test);//запустили блокнот
pause(1000);
key("123456789");//печатаем текст, просто для теста
keydown(16);//нажимаем шифт
pause(400);
key(LEFT);//нажимаем стрелку влево
pause(500);
key(LEFT);//несколько раз
pause(500);
key(LEFT);//сколько раз нажали
pause(500);
key(LEFT);//столько и должно выделится символов с конца
pause(500);
keyup(16);//отпускаем шифт
/*в итоге курсор в блокноте просто передвинется на 4 символа влево,
не выделив при этом текст, вот такие дела.*/
win test=window ("Безымянный — Блокнот", "Notepad", -1);
pause(1000);
activate(test);//запустили блокнот
pause(1000);
key("123456789");//печатаем текст, просто для теста
keydown(16);//нажимаем шифт
pause(400);
key(LEFT);//нажимаем стрелку влево
pause(500);
key(LEFT);//несколько раз
pause(500);
key(LEFT);//сколько раз нажали
pause(500);
key(LEFT);//столько и должно выделится символов с конца
pause(500);
keyup(16);//отпускаем шифт
/*в итоге курсор в блокноте просто передвинется на 4 символа влево,
не выделив при этом текст, вот такие дела.*/
4. Kibor - 24 Февраля, 2016 - 10:01:17 - перейти к сообщению
DeLiberate пишет:
Вот это, к примеру, не работает.
Да?
А если подождать пока блокнот запуститься и потом получать его указатель??
DeLiberate пишет:
start ("C:\Windows\System32\notepad.exe");
pause (1000);
win test=window ("Безымянный — Блокнот", "Notepad", -1);
pause (1000);
win test=window ("Безымянный — Блокнот", "Notepad", -1);
а тот пример не работал потому что надо фокус было передать на окно блокнота. и все работает.
5. DeLiberate - 24 Февраля, 2016 - 10:25:58 - перейти к сообщению
Kibor пишет:
А если подождать пока блокнот запуститься и потом получать его указатель??
а тот пример не работал потому что надо фокус было передать на окно блокнота. и все работает.
Все равно это
CODE:
лишнее, т.к. блокнот получает фокус при открытии.start ("C:\Windows\System32\notepad.exe");
pause(2000);
win test=window ("Безымянный — Блокнот", "Notepad", -1);
pause(1000);
activate(test);//запустили блокнот
pause(2000);
win test=window ("Безымянный — Блокнот", "Notepad", -1);
pause(1000);
activate(test);//запустили блокнот
К сожалению проблема не в фокусе, текст печатается в блокноте, курсор двигается влево на 4 знака, но текст не выделяет, т.е. шифт не зажимается.
6. Kibor - 24 Февраля, 2016 - 10:44:41 - перейти к сообщению
А почему у меня выделяется?
7. DeLiberate - 24 Февраля, 2016 - 11:18:50 - перейти к сообщению
Kibor пишет:
А почему у меня выделяется?
Из-за разных конфигураций компьютера, полагаю.
У меня запуск этого скрипта выглядит так:
Кибор запущен с правами админа, вин 8.1 х64.
Думаю автору топика нужно попробовать копировать текст с помощью fread, если с шифтом не получится
8. Kibor - 24 Февраля, 2016 - 11:28:12 - перейти к сообщению
num lock отключите..
(Добавление)
А вообще для выделения использовать можно
(Добавление)
А вообще для выделения использовать можно
CODE:
win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));
postmessage(EM_SETSEL, 2, 7, w);
postmessage(EM_SETSEL, 2, 7, w);
9. DeLiberate - 24 Февраля, 2016 - 11:35:51 - перейти к сообщению
Kibor пишет:
num lock отключите..
Никогда бы не подумал, каким боком шифт к нум-паду относится?
Все заработало, я в шоке
10. Kibor - 24 Февраля, 2016 - 13:05:37 - перейти к сообщению
вообще то к нумпад относятся стрелки..
когда включен num lock команда идет на стрелки нумпада.
и теперь проверьте вручную как оно работает.. шифт + стрелка нумпад при вкл num lock
когда включен num lock команда идет на стрелки нумпада.
и теперь проверьте вручную как оно работает.. шифт + стрелка нумпад при вкл num lock