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

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

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

> Без описания
Redear
Отправлено: 26 Апреля, 2023 - 11:43:30
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 202
Дата рег-ции: Июль 2022  
Репутация: 0




Прикладываю код программ отправки и приемки(для просмотра ссылки Вам необходимо авторизоваться) (для просмотра ссылки Вам необходимо авторизоваться)
Вторую программу сделать exe c автозапуском

Максимально простая логика, отправляем число, ждем число

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

Без отладчика все ок.
Для меня это очень важно. Спасибо
 
 Top
Kibor
Отправлено: 26 Апреля, 2023 - 12:47:41
Post Id



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


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




Отладчик работает только с одной копией запущенного Кибор
 
 Top
Redear
Отправлено: 26 Апреля, 2023 - 13:23:11
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 202
Дата рег-ции: Июль 2022  
Репутация: 0




 Kibor пишет:
Отладчик работает только с одной копией запущенного Кибор


так дело в том, что работает всего 1 копия и это основная программа.
вторая программа в виде exe лежит в папке с кибором и никаким образом к первой программе не относится.
взаимодействие по api через общую память

где я не прав?

(Отредактировано автором: 26 Апреля, 2023 - 13:23:38)

 
 Top
Redear
Отправлено: 26 Апреля, 2023 - 17:56:01
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 202
Дата рег-ции: Июль 2022  
Репутация: 0




можно пояснить, спасибо!)
 
 Top
Kibor
Отправлено: 26 Апреля, 2023 - 19:24:26
Post Id



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


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




Поясню, когда найду время проверить. Я не диспетчер.
 
 Top
Redear
Отправлено: 26 Апреля, 2023 - 19:58:03
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 202
Дата рег-ции: Июль 2022  
Репутация: 0




хорошо, буду ждать. спасибо
 
 Top
Kibor
Отправлено: 26 Апреля, 2023 - 20:10:20
Post Id



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


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




У меня в отладчике это петляет.

CODE:
MemoryMap ( )
external ( VOID , " RtlMoveMemory " , " RtlMoveMemory " , " Ntdll.dll " )
external ( INT , " CreateFileMapping " , " CreateFileMappingA " , " Kernel32.dll " )
external ( INT , " MapViewOfFile " , " MapViewOfFile " , " Kernel32.dll " )
external ( INT , " CloseHandle " , " CloseHandle " , " Kernel32.dll " )
external ( INT , " UnmapViewOfFile " , " UnmapViewOfFile " , " Kernel32.dll " )
external ( INT , " CreateSemaphore " , " CreateSemaphoreA " , " Kernel32.dll " )
external ( INT , " OpenSemaphore " , " OpenSemaphoreA " , " Kernel32.dll " )
external ( INT , " ReleaseSemaphore " , " ReleaseSemaphore " , " Kernel32.dll " )
external ( INT , " WaitForSingleObject " , " WaitForSingleObject " , " Kernel32.dll " )
SizeBuf = sizearray ( Buf )
FileMapping = CreateFileMapping ( INVALID_HANDLE_VALUE , NULL , PAGE_READWRITE , 0 , SizeBuf'300' , " RedMap " )
if ( FileMapping'1920' == NULL )
FileMap = MapViewOfFile ( FileMapping'1920' , FILE_MAP_READ + FILE_MAP_WRITE , 0 , 0 , 0 )
if ( FileMap'366149632' == NULL )
int Semaphore = OpenSemaphore ( SEMAPHORE_MODIFY_STATE , 0 , " Semaphore " )
if ( Semaphore'0' != NULL )
int Pid = findprocess ( " LF.exe " )
if ( Pid'-1' > - 1 )
createpipeprocess ( pathfolder ( ) + " LF.exe " )
int timer = 30
getdisplay ( Z'-842150451' , X'-842150451' , Y'-842150451' )
looptime ( 30000 )
if ( ReadMemory ( ) == " Start " )
RtlMoveMemory ( address ( # Buf'Н' [ 0 ] ) , FileMap'366149632' , SizeBuf'300' )
return format ( # Buf'null' [ 0 ] )
_pause ( 1000 )
looptime ( t'1000' )
sleep ( 10 ) --- 43
timer'30' --
textout ( 6666 , X'1920' / 2 , Y'1080' - 60 , " LOADING: " + format ( timer'29' ) , 1 )
if ( ReadMemory ( ) == " Start " )
RtlMoveMemory ( address ( # Buf'null' [ 0 ] ) , FileMap'366149632' , SizeBuf'300' )
return format ( # Buf'null' [ 0 ] )
_pause ( 1000 )
looptime ( t'1000' )
sleep ( 10 ) --- 44
timer'29' --
textout ( 6666 , X'1920' / 2 , Y'1080' - 60 , " LOADING: " + format ( timer'28' ) , 1 )
if ( ReadMemory ( ) == " Start " )
RtlMoveMemory ( address ( # Buf'null' [ 0 ] ) , FileMap'366149632' , SizeBuf'300' )
return format ( # Buf'null' [ 0 ] )
_pause ( 1000 )
looptime ( t'1000' )
sleep ( 10 ) --- 44
timer'28' --
textout ( 6666 , X'1920' / 2 , Y'1080' - 60 , " LOADING: " + format ( timer'27' ) , 1 )
if ( ReadMemory ( ) == " Start " )
RtlMoveMemory ( address ( # Buf'null' [ 0 ] ) , FileMap'366149632' , SizeBuf'300' )
return format ( # Buf'null' [ 0 ] )
_pause ( 1000 )
looptime ( t'1000' )
sleep ( 10 ) --- 44
timer'27' --
textout ( 6666 , X'1920' / 2 , Y'1080' - 60 , " LOADING: " + format ( timer'26' ) , 1 )
if ( ReadMemory ( ) == " Start " )
RtlMoveMemory ( address ( # Buf'null' [ 0 ] ) , FileMap'366149632' , SizeBuf'300' )
return format ( # Buf'null' [ 0 ] )
_pause ( 1000 )
looptime ( t'1000' )
sleep ( 10 ) --- 44

(Добавление)
textout ( 6666
Поставьте нормальный номер. 0
Он у вас один.
Программа думает что их еще 6665
 
 Top
Redear
Отправлено: 26 Апреля, 2023 - 20:21:53
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 202
Дата рег-ции: Июль 2022  
Репутация: 0




так она у вас ждет программу №2 с именем LF.EXE (для просмотра ссылки Вам необходимо авторизоваться) необходимо собрать ее в киборе в exe с автозапуском
и положите в папку где запускается основной кибор

по поводу таймера это не проблема, его можно вообще отключить. не там точно ошибка
 
 Top
Kibor
Отправлено: 26 Апреля, 2023 - 20:23:55
Post Id



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


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




 Redear пишет:
так она у вас ждет программу №2 с именем LF.EXE

Описывайте полностью задачу.
(Добавление)
И?

Ошибка потому что программа не распознала TerminateProcess
Вызов функции есть, а где ее подключение по external?
(Добавление)
external(INT, "TerminateProcess", "TerminateProcess", "Kernel32.dll");
Добавьте.
 
 Top
Redear
Отправлено: 26 Апреля, 2023 - 20:32:08
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 202
Дата рег-ции: Июль 2022  
Репутация: 0




про имя LF.EXE запамятовал, а так вроде в первом посте все указано.

1) програма1. кибор основной
2) програма2 на киборе. LF.exe

первая прогрмма через shared memory отправляет запрос, вторая принимает обрабатывает и возвращает значение. и так по кругу.

без отладчика все ок, с отладчиком начинаются ошибки, либо результат недохоходит, либо симофор ожидания теряется, либо общая память ломается. вообщем непонятно.
это максимально упращенная модель просто прием отправка.
на моей программе в отладке, там постоянно выбивает неверные ответы
(Добавление)
протестирую с терминайт процессом, отпишусь. спасибо
по поводу терминейта, в основной программе он есть, в этой модели забыл удалить
(Добавление)
протестировал без терминайта тоже самое. ошибки.
смысл программы:
1. запрос результата функции WhatPlace
2. во второй программе, при запросе этой функции результат всегда 1
3. если первая не получает 1, то результат 0. значит ошибка взаимодействия

(Отредактировано автором: 26 Апреля, 2023 - 20:35:21)

 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Отчет о ошибках »


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




Powered by