Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Описание: Эмуляция печати текста более 128 символов
Kibor
Отправлено: 15 Октября, 2019 - 15:10:30
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8224
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Покажу как кодом. Для edita с переносом строки надо создавать другое окно.
В виз редакторе в принципе можно это в блоках кода сделать.

CODE:
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll" );
int buttons;
int edit;
char buffer[100000];
createdialog(0);
//////////

showdialog(0, "Диалог", 558, 234, 250, 300, 1, 1);
//////////

loop() sleep(10);//Убрать после теста




function getmessage(0, WM_CREATE)
{
edit=CreateWindow(0, "EDIT", "", 4+128+4096+1048576+2097152+8388608+1342177280, 10, 10, 230, 220, gethwnd(0), 0, 0, 0); // многострочный текст
buttons=CreateWindow(0, "BUTTON", "печать", 1342177280, 10, 240, 210, 20, gethwnd(0), 0, 0, 0);
}




function getmessage(0, WM_COMMAND)
{
if(message.lparam==buttons)
{
if(GetWindowText(edit, address(#buffer[0]), sizearray(buffer))) // получить текст
{
pause(1000);
win w=getwindow();
sendlanguage("00000419", w);
int Sz=size(#buffer[0]);
for (int nt=0; nt<Sz; nt++)
{
key(buffer[nt]);
sleep(50);
}
}
}
}
 
 Top
inre25
Отправлено: 16 Октября, 2019 - 12:54:38
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 23
Дата рег-ции: Май 2019  
Репутация: 0




 Kibor пишет:
Покажу как кодом. Для edita с переносом строки надо создавать другое окно.
В виз редакторе в принципе можно это в блоках кода сделать.

CODE:
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll" );
int buttons;
int edit;
char buffer[100000];
createdialog(0);
//////////

showdialog(0, "Диалог", 558, 234, 250, 300, 1, 1);
//////////

loop() sleep(10);//Убрать после теста




function getmessage(0, WM_CREATE)
{
edit=CreateWindow(0, "EDIT", "", 4+128+4096+1048576+2097152+8388608+1342177280, 10, 10, 230, 220, gethwnd(0), 0, 0, 0); // многострочный текст
buttons=CreateWindow(0, "BUTTON", "печать", 1342177280, 10, 240, 210, 20, gethwnd(0), 0, 0, 0);
}




function getmessage(0, WM_COMMAND)
{
if(message.lparam==buttons)
{
if(GetWindowText(edit, address(#buffer[0]), sizearray(buffer))) // получить текст
{
pause(1000);
win w=getwindow();
sendlanguage("00000419", w);
int Sz=size(#buffer[0]);
for (int nt=0; nt<Sz; nt++)
{
key(buffer[nt]);
sleep(50);
}
}
}
}


спасибо работает. Но я не понимаю как из этого доделать свой код. Поскольку нет понимания ряда действий в коде, и команды которых нет в справочнике.
 
 Top
Kibor
Отправлено: 16 Октября, 2019 - 13:20:28
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8224
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Примерно так


Верхний блок кода содержит код
CODE:
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll" );
int buttons;
int edit;
char buffer[100000];
createdialog(0);
//////////

showdialog(0, "Äèàëîã", 558, 234, 250, 300, 1, 1);
//////////


Нижний
CODE:
function getmessage(0, WM_CREATE)
{
edit=CreateWindow(0, "EDIT", "", 4+128+4096+1048576+2097152+8388608+1342177280, 10, 10, 230, 220, gethwnd(0), 0, 0, 0); // ìíîãîñòðî÷íûé òåêñò
buttons=CreateWindow(0, "BUTTON", "ïå÷àòü", 1342177280, 10, 240, 210, 20, gethwnd(0), 0, 0, 0);
}




function getmessage(0, WM_COMMAND)
{
if(message.lparam==buttons)
{
if(GetWindowText(edit, address(#buffer[0]), sizearray(buffer))) // ïîëó÷èòü òåêñò
{
pause(1000);
win w=getwindow();
sendlanguage("00000419", w);
int Sz=size(#buffer[0]);
for (int nt=0; nt<Sz; nt++)
{
key(buffer[nt]);
sleep(50);
}
}
}
}
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by