Author Topic: Потоки  (Read 87331 times)

0 Members and 1 Guest are viewing this topic.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Потоки
« Reply #15 on: November 16, 2014, 02:18:31 PM »
Доброго времени. Что-то не работает поток в моем случае, я открываю 1 окно (делаю на передний план) - копирую из него текст, затем открываю 2 окно и вставляю текст туда. Но как только в поток эти действия включаю - перестает работать:

Code: [Select]
#name "test_3"
WNDBUMP(65994)

WAIT(1)

DBLCLICK(462,425)

WAIT(1)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#C)
WAITMS (50)
KEYUP (#C)
KEYUP (#CTRL)

WAIT(1)

WNDBUMP(197118)

WAIT(1)

WAITMS(300)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
waitms(200)

KEYPRESS(#ENTER)

HALT

А я че-то и не вижу у тебя тут созданного потока...
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Потоки
« Reply #16 on: November 16, 2014, 02:51:32 PM »
Вот твой скрипт с потоком:

Code: (clickermann) [Select]
THREAD(name)  // Начало потока

   WNDBUMP(65994)
   
   WAIT(1)
   
   DBLCLICK(462,425)
   
   WAIT(1)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#C)
   WAITMS (50)
   KEYUP (#C)
   KEYUP (#CTRL)
   
   WAIT(1)
   
   WNDBUMP(197118)
   
   WAIT(1)
   
   WAITMS(300)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   waitms(200)
   
   KEYPRESS(#ENTER)
   
   HALT
   
END_THREAD  // Конец потока

BEEP(800,200)  // Команда работает параллельно с потоком
WAIT(1)
Я не ду... Потому и не бу...

Alex59

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Потоки
« Reply #17 on: November 16, 2014, 03:47:20 PM »
Спасибо, этот теперь работает. Но только если делать окно активным, а если вместо WNDBUMP поставить HSET - то снова не работает. Мне из 2х и более окон одновременно нужно скопировать информацию в 1 окно.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Потоки
« Reply #18 on: November 16, 2014, 03:52:07 PM »
Спасибо, этот теперь работает. Но только если делать окно активным, а если вместо WNDBUMP поставить HSET - то снова не работает. Мне из 2х и более окон одновременно нужно скопировать информацию в 1 окно.

Я не понял... Ты отдельные потоки хочешь привязать к разным окнам в одном скрипте чтоли? Я конечно вообще не в курсе, но мне кажется, что к окну у нас привязывается не скрипт, а сам кликер. То есть, внутри кликера макрос не сможет разные потоки привязать к разным окнам.
Я не ду... Потому и не бу...

Alex59

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Потоки
« Reply #19 on: November 16, 2014, 03:58:13 PM »
Ааа.. теперь понял:) Да, я хотел в 1 потоке к разным окнам привязать:) делал HSET(номер,1) потом HSET(номер,0) и также следующее окно ;D

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Потоки
« Reply #20 on: November 16, 2014, 04:00:59 PM »
Ааа.. теперь понял:) Да, я хотел в 1 потоке к разным окнам привязать:) делал HSET(номер,1) потом HSET(номер,0) и также следующее окно ;D

Ну, если привязка и отвязка будет последовательной (то есть - сначала привязался кликер к одному окну, потом к другому и так далее), то это возможно. Но привязываясь к окну "2", кликер отвяжется от окна "1".
Я не ду... Потому и не бу...

Alex59

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Потоки
« Reply #21 on: November 16, 2014, 04:24:18 PM »
Тут цифры окон только поменял (перезапустил браузер и блокнот) но алгоритм тот-же, Ctrl+C и Ctrl+V не срабатывают:
Code: [Select]
THREAD(name)
   //WNDBUMP(197198)
   HSET(197198,1)   
 
   WAIT(1)
 
   DBLCLICK(526,704)
   
   WAIT(1)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#C)
   WAITMS (50)
   KEYUP (#C)
   KEYUP (#CTRL)
   
   HSET(197198,0)
 
   WAIT(1)

   //WNDBUMP(328256)
   HSET(328256,1)
 
   WAIT(1)
 
   WAITMS(300)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#V)
   WAITMS (50)
   KEYUP (#V)
   KEYUP (#CTRL)
   waitms(200)
 
   KEYPRESS(#ENTER)
   
   HSET(328256,0)
 
   HALT
 
END_THREAD  //
 
BEEP(800,200)  //
WAIT(1)

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Потоки
« Reply #22 on: November 16, 2014, 04:37:21 PM »
Ты на ноуте, или на компе макрос запускаешь?
Я не ду... Потому и не бу...

Alex59

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Потоки
« Reply #23 on: November 16, 2014, 04:41:23 PM »
на ноуте, поставил win 10 тестовую, и на ноуте есть еще vmware win XP пробую и там и там

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Потоки
« Reply #24 on: November 16, 2014, 04:51:11 PM »
На - пробуй:

Code: (clickermann) [Select]
#ps2_keyboard
#ps2_mouse
THREAD(name)
   //WNDBUMP(197198)
   HSET(197198,1)
   
   WAIT(1)
   
   DBLCLICK(526,704)
   
   WAIT(1)
   KEYDOWN (#CTRL)
   WAITMS (100)
   KEYPRESS(#C)
   WAITMS (50)
   KEYUP (#CTRL)
   
   HSET(197198,0)  // Этот параметр не обязателен. При выполнении команды из 23-ей строки, кликер автоматом отвяжется от окна "197198" и привяжется к "328256".
   
   WAIT(1)
   
   //WNDBUMP(328256)
   HSET(328256,1)
   
   WAIT(1)
   
   WAITMS(300)
   KEYDOWN (#CTRL)
   WAITMS (100)
   KEYPRESS(#V)
   WAITMS (50)
   KEYUP (#CTRL)
   waitms(200)
   
   KEYPRESS(#ENTER)
   
   HSET(328256,0)
   
   HALT
   
END_THREAD  //

BEEP(800,200)  // Тут никаких HSET, так как у тебя работают последовательные привязки в потоке.
WAIT(1)
« Last Edit: November 16, 2014, 05:24:58 PM by Hito »
Я не ду... Потому и не бу...

Alex59

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Потоки
« Reply #25 on: November 16, 2014, 06:58:59 PM »
Спасибо большое за оперативную помощь! Но увы, этот вариант тоже не работает. Завтра на работе буду кумекать что к чему :o

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Потоки
« Reply #26 on: November 16, 2014, 08:54:13 PM »
Да что же блин такое...
   KEYDOWN ()
   KEYUP ()
Не работают в режиме привязки, 100500 раз упоминалось, в половине тем на форуме и каждые 20 постов в группе.


Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Потоки
« Reply #27 on: November 16, 2014, 08:57:08 PM »
Да что же блин такое...
   KEYDOWN ()
   KEYUP ()
Не работают в режиме привязки, 100500 раз упоминалось, в половине тем на форуме и каждые 20 постов в группе.

Через раз... У меня бывало, что и работало... Потому и предложил попробовать режиме PS/2
Я не ду... Потому и не бу...

i0

  • Оплот сообщества
  • ****
  • Posts: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • View Profile
Re: Потоки
« Reply #28 on: November 20, 2014, 01:27:21 AM »
Потоки могут невозбранно контролировать друг друга
Quote from: Clickermann Help
SetThread (thread_name, state) - меняет состояние дочернего потока

так всё таки только дочернего или любого?

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Потоки
« Reply #29 on: November 20, 2014, 12:34:37 PM »
Потоки могут невозбранно контролировать друг друга
Quote from: Clickermann Help
SetThread (thread_name, state) - меняет состояние дочернего потока

так всё таки только дочернего или любого?

На сколько я понял, из дочернего потока не проконтролишь, такой командой, дочерний поток. Только из основного дочерний. Или я ошибаюсь?
Я не ду... Потому и не бу...