Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Нужен код для свернутых окон Mozilla Firefox и Блокнот

Страниц (2): [1] 2 »
 

1. temphard - 29 Сентября, 2014 - 21:33:49 - перейти к сообщению
Здравствуйте.
Существует некий сервис для сокращения ссылок(для просмотра ссылки Вам необходимо авторизоваться) При вводе определенной ссылки в соответствующее поле и нажатии клавиши SHORTEN (или ENTER на клавиатуре) генерируется новая короткая ссылка, при этом естественно что окно браузера обновляется и поле для дальнейшего ввода ссылок располагается в верху центра окна, но при этом активируется функция автоматической генерации ссылки. То есть при вводе в соответствующее поле очередной ссылки, нажимать кнопку SHORTEN (или ENTER на клавиатуре) нет надобности, сервис работает автоматически.
Задача такая:
Есть текстовый файл с готовой ссылкой, которую надо обработать в(для просмотра ссылки Вам необходимо авторизоваться) Как сделать чтобы "Кибор" мог совершать такую последовательность действий:
1) скопировать из блокнота ссылку;
2) вставить эту ссылку в(для просмотра ссылки Вам необходимо авторизоваться) (будем учитывать что в(для просмотра ссылки Вам необходимо авторизоваться) уже активирован режим автоматической генерации ссылок при их добавлении)
3) скопировать (сокращенную) готовую ссылку в буфер
4) вставить сокращенную ссылку в блокнот
Обязательное условие - оба окна (Mozilla Firefox и Блокнот) при выполнении такой операции должны быть свернуты.

Выполнима ли такая задачи в принципе?
Если да, то помогите составить код.
Большое спасибо!
2. Kibor - 29 Сентября, 2014 - 23:32:19 - перейти к сообщению
Легко.

принцип:

читаем с файла по строкам адреса. см. файловые операции
копируем строку в буфер. см. Работа с буфером обмена

С помощью мыши щелкаем по полю ввода вверху и нажимаем contr+v см. Нажатие мыши и Работа с клавиатурой

ждем генерацию

С помощью мыши щелкаем по полю получения и нажимаем contr+a и contr+с см. Нажатие мыши и Работа с клавиатурой

читаем с буфера в переменную string и записываем в файл см. файловые операции

надо использовать массивы string.
3. temphard - 30 Сентября, 2014 - 03:26:10 - перейти к сообщению
 Kibor пишет:
Легко.

Большое спасибо за ответ.
Посмотрел приведенные ссылки...да...уж...пока не могу сообразить, как этим воспользоваться.
Может вы мне все же поможете...если я конкретно опишу каждое действие...
Процесс начинается с действий в блокноте (блокнот свернут):
1) в свернутом блокноте нажать клавишу "F3"
2) затем нажать комбинацию "Shift+End"
3) далее нажать комбинацию "Ctrl+C"
На данном этапе в буфер обмена уже скопирована нужная мне строка, а при повторном таком действии будет копироваться следующая строка, пропуская другую информацию, находящуюся в блокноте.

 Kibor пишет:
С помощью мыши щелкаем по полю ввода вверху и нажимаем contr+v

Возможно здесь можно по другому?
Как я уже говорил:
 temphard пишет:
будем учитывать что в(для просмотра ссылки Вам необходимо авторизоваться) уже активирован режим автоматической генерации ссылок при их добавлении

...окно ввода в центре сайта (вверху), а также в поле ввода уже находится короткая ссылка от предыдущей операции и при этом она находится в выделенном состоянии.
Возможно достаточно воспользоваться командой "Ctrl+V", которая должна заменить собой то, что выделено.
При использовании команды "Ctrl+V" произойдет вставка новой длинной ссылки а через секунду в том же поле ввода (без обновления всей страницы сайта) сгенерируется короткая ссылка, (которая уже будет выделенной - так работает сам сервис https://bitly.com/) которую достаточно будет скопировать с помощью "Ctrl+C". Как думаете?

Далее необходимо, чтобы Кибор снова перешел в блокнот - действия такие:
1) нажать клавишу "End" (если учитывать, что действия выполненные в блокноте ранее оставили строку в выделенном состоянии)
2) нажать клавишу "Пробел"
3) далее сочетание клавиш "Ctrl+V"
На этом заканчивается полный цикл операции, который нужно будет выполнять определенное количество раз.

P.S. При выполнении операции Блокнот и браузер постоянно свернуты!

Заранее благодарен за помощь.
(Добавление)
И еще...
В блокноте результат должен выглядеть таким образом:
длинная-ссылка.com короткая-ссылка.com (все в одной строке и через один пробел)
и так далее...

Спасибо.
4. Kibor - 30 Сентября, 2014 - 09:12:57 - перейти к сообщению
зачем открывать блокнот??

я вроде давал ссылки......

вот примерный код с проверками. запускаем только браузер. не сворачиваем , а перекрываем чем нам надо...

пример с проверками работы. поэтому не сворачиваем так как в свернутом нет изображений которые контролируем..

работает в фоне на плане заднем под окном другим.

CODE:
//рис по адресу C:\link
// для https://bitly.com/
//файл с ссылками тут C:\link\isxod.txt
//формат
/*
http://kibor-bot.com/forum/index.php
http://kibor-bot.com/forum/index.php?c=7
http://kibor-bot.com/forum/topic.php?forum=5&topic=198
http://kibor-bot.com/forum/forums.php?forum=1
http://kibor-bot.com/forum/topic.php?forum=1&topic=1
*/

win w=window ("Bitly - The Power of the Link - Mozilla Firefox");
int k=0;
int paste[74][13];loadimage (#paste[0][0], "C:\link\paste.bmp");
int copy[34][11];loadimage (#copy[0][0], "C:\link\copy.bmp");
int zag[11][12];loadimage (#zag[0][0], "C:\link\zag.bmp");
int x, y;
int tim;
string lin[999];
string linfin[999];

if (fopen ("C:\link\isxod.txt", "r")!=0)
{
l:if (freadline(lin[k])!=0)
{
k++;
goto l;
}
fclose();
}


for (int n=0; n<k; n++)
{
writeclipboard(lin[n]);
wait_image(#zag[0][0]);
sleep(500);
wait_image(#zag[0][0]);
sleep(500);
wait_image(#paste[0][0]);
sleep(500);
sendmouse (LEFT, x, y, w);
sleep(500);
sendmessage(WM_PASTE, 0, 0, w);
sleep(500);
wait_image(#zag[0][0]);
sleep(500);
wait_image(#zag[0][0]);
sleep(500);
tim=gettime ();
aa5: if (findimage(1, #copy[0][0], 0, #x, #y, 0, 0, w.widthclient, w.heightclient, w)==0)
{sleep(50);
if (gettime ()-tim>3000){n--; goto rt;}
goto aa5;}
sleep(500);
sendmessage(WM_COPY, 0, 0, w);
sleep(500);
readclipboard (linfin[n]);
rt: sendmouse (LEFT, 92, 78, w);//клик по назад
sleep(500);
}


if (fopen ("C:\link\finnn.txt", "w")!=0)
{
for (n=0; n<k; n++)
{
fwrite (lin[n]+" "+linfin[n]);
fwrite (ENDL);
}
fclose();
}
start("C:\link\finnn.txt");



function wait_image(int #image[100][100])
{
aa: if (findimage(1, #image[0][0], 0, #x, #y, 0, 0, w.widthclient, w.heightclient, w)==0){sleep(50); goto aa;}
}



скачать архив . распаковать на с http://kibor-bot.com/files/link.rar


описывать не буду. разбирайтесь. подставьте только свои координаты вернуть назад страницу(клик по назад)
5. temphard - 30 Сентября, 2014 - 13:28:04 - перейти к сообщению
 Kibor пишет:
CODE:

Ого! Большой код, придется разбираться. Большое спасибо.
С программой Кибор я знаком уже целых два дня, так что для меня пока это "темный лес".
Я даже не могу "собрать" элементарный код, который бы в открытом блокноте выделял нужную строку. Вот что я сочинил, но "оно" не работает:
CODE:
activate(window ("Безымянный — Блокнот", "Notepad", -1));
key(F3);
keydown(SHIFT);keydown(END);
keyup(END);keyup(SHIFT);

При нажатии клавиши F3 выделяется часть строки (такое действие я готовлю заранее).
После того, как выделена часть строки, я хочу чтобы она была выделена до конца, поэтому в обычной ситуации использую сочетание клавиш SHIFT+END.
Но если использовать код, это не работает.
То есть команда key(F3); выполняется корректно и часть строки выделяется, но при выполнении команд
keydown(SHIFT);keydown(END);
keyup(END);keyup(SHIFT);
выделение сбрасывается, хотя курсор и перемещается в конец строки.
Что я делаю не так?
6. Kibor - 30 Сентября, 2014 - 13:34:42 - перейти к сообщению
большой потому что полнофункциональный. с проверками и контролем.
логика сама умещается в пару строк.(для просмотра ссылки Вам необходимо авторизоваться) тема с блокнотом..
только зачем его открывать?? читать надо
7. temphard - 30 Сентября, 2014 - 14:24:42 - перейти к сообщению
 Kibor пишет:
только зачем его открывать?

Пусть будет открытым...
Спасибо за вашу помощь, но все же не могу составить код, чтобы:
1) бала нажата и отпущена клавиша F3 (то есть эта часть работает нормально)
2) выполнено сочетание клавиш SHIFT+END (эта часть не работает, выделение слетает, хотя курсор и перемещается в конец строки)
Результатом выполнения кода должно быть: целиком выделена одна (нужная мне) строка.
В тексте много строк и много всякой информации. Команда F3 ищет нужную строку, пропуская ненужные строки. Чтобы F3 умела искать то, что мне нужно, я в течении секунды "готовлю" это заранее (это не проблема).
Меня интересует, чтобы код мог работать так, как я указал выше.
8. Kibor - 30 Сентября, 2014 - 14:50:51 - перейти к сообщению
num lock отключите......
9. temphard - 30 Сентября, 2014 - 14:55:49 - перейти к сообщению
 Kibor пишет:
num lock отключите

Вот спасибо, кто бы мог подумать. Да, теперь работает...
Буду экспериментировать дальше...чувствую что в Киборе скрыты большие возможности...
(Добавление)
Так...начинаю вникать и кое-что понимать.
Написал небольшой код, но вот как задать определенное количество срабатываний (циклов), не могу понять.
Мне нужно именно указать точное количество циклов а не зациклить до бесконечности.
Спасибо за помощь.
10. Kibor - 30 Сентября, 2014 - 16:12:59 - перейти к сообщению
в коде есть что дал...
 Цитата:
for (int n=0; n<25; n++)
{
messagebox (format(n));
}

Powered by ExBB FM 1.0 Final