26 (изменено: teadrinker, 2018-07-01 03:51:01)

Re: AHK: Работа с потоками autohotkey.dll

Скорее всего, так же, как и в одном скрипте: каждый новый поток будет прерывать незавершённый предыдущий.

timer := ObjBindMethod(myClass, "test", "2")
SetTimer, % timer, -1000
timer := ObjBindMethod(myClass, "test", "3")
SetTimer, % timer, -2000
myClass.test("1")

class myClass
{
   test(param)  {
      SoundBeep
      Loop 10  {
         ToolTip % param "`n" A_Index
         Sleep, 300
      }
   }
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

27

Re: AHK: Работа с потоками autohotkey.dll

А если дочерний просто записывает или читает данные в массиве, прерывает ли это поток основного, и других дочерних.
Чьему потоку принадлежит объект, если он становится как бы общим.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

28

Re: AHK: Работа с потоками autohotkey.dll

Да, и как ExecScript использовать в компилированном?

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

29

Re: AHK: Работа с потоками autohotkey.dll

Не совсем понял вопрос. А почему его нельзя в компилированном использовать?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

30

Re: AHK: Работа с потоками autohotkey.dll

Error:  0x80070002 - Не удается найти указанный файл.
---> 097: exec := shell.Exec("AutoHotkey.exe *")

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

31

Re: AHK: Работа с потоками autohotkey.dll

А файл-то есть?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

32 (изменено: serzh82saratov, 2018-07-02 23:47:46)

Re: AHK: Работа с потоками autohotkey.dll

Нет. Как можно запускать на пк где нет анк.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

33 (изменено: teadrinker, 2018-07-02 23:54:46)

Re: AHK: Работа с потоками autohotkey.dll

Можно прицепить через FileInstall AutoHotkey.exe или AutoHotkey.dll. Теоретически, AutoHotkey.dll можно прямо из ресурса использовать, не выгружая, правда кода много будет.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

34 (изменено: serzh82saratov, 2018-07-03 12:21:28)

Re: AHK: Работа с потоками autohotkey.dll

teadrinker пишет:

Теоретически, AutoHotkey.dll можно прямо из ресурса использовать, не выгружая

Вот это очень интересно. Записать dll в base64, и потом как то использовать?

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

35

Re: AHK: Работа с потоками autohotkey.dll

https://autohotkey.com/board/topic/7730 … rylibrary/

36

Re: AHK: Работа с потоками autohotkey.dll

Зачем в base64? Ты же не хочешь скрипт в 15.000 строк. Просто через FileInstall добавить в ресурсы, а потом, не выгружая, считать прямо из exe и использовать с помощью вышеупомянутой _MemoryLibrary.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

37 (изменено: serzh82saratov, 2018-07-03 16:15:08)

Re: AHK: Работа с потоками autohotkey.dll

teadrinker пишет:

не выгружая, считать прямо из exe

Можешь поподробнее. В примерах только путь к "X:\AutoHotkey.dll".

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

38

Re: AHK: Работа с потоками autohotkey.dll

https://autohotkey.com/board/topic/7606 … de-builds/
Экзешники тоже можно запускать:
https://autohotkey.com/board/topic/8706 … -resource/

39

Re: AHK: Работа с потоками autohotkey.dll

А ты этим пользовался, там написано:

Those functions are not compatible with recent versions of AutoHotkey_L.

BinRun тоже 2012 года.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

40

Re: AHK: Работа с потоками autohotkey.dll

serzh82saratov пишет:

В примерах только путь к "X:\AutoHotkey.dll".

Вот здесь пример, как из буфера загрузить:

FileRead,data,*c X:\AutoHotkey.dll
NewMemLib:=new _MemoryLibrary(&data)
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

41

Re: AHK: Работа с потоками autohotkey.dll

Это видел, но тут же файл указан, а как буфер создать из ресурса?

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

42

Re: AHK: Работа с потоками autohotkey.dll

Считать его в буфер. В ресурсе данные файла точно в таком же виде, как в исходном файле.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

43

Re: AHK: Работа с потоками autohotkey.dll

serzh82saratov, когда-то гонял (какой год назад)- всё работало.

serzh82saratov пишет:

Those functions are not compatible with recent versions of AutoHotkey_L.

Это отвечено на вопрос топикстартера, почему те функции не работают в современном ahk.
И ниже приведен код для современного.

44

Re: AHK: Работа с потоками autohotkey.dll

teadrinker пишет:

В ресурсе данные файла точно в таком же виде, как в исходном файле.

Всё равно не догоняю, путь надо указать к самому скрипту, или как?

MalcevОк, спасибо за разъяснения.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

45

Re: AHK: Работа с потоками autohotkey.dll

По первой ссылке Malcev'а код для считывания ресурса в буфер.

LoadScriptResource(Name, ByRef DataSize = 0, Type = 10)
{
    lib := DllCall("GetModuleHandle", "ptr", 0, "ptr")
    res := DllCall("FindResource", "ptr", lib, "str", Name, "ptr", Type, "ptr")
    DataSize := DllCall("SizeofResource", "ptr", lib, "ptr", res, "uint")
    hresdata := DllCall("LoadResource", "ptr", lib, "ptr", res, "ptr")
    return DllCall("LockResource", "ptr", hresdata, "ptr")
}

Здесь Name — название ресурса. Попробуй скомпилировать с FileInstall, увидишь в ResHacker, какое имя получается.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

46

Re: AHK: Работа с потоками autohotkey.dll

Спасибо попробую, а для аналога ExecScript, запуска в новом процессе, надо инсталить AutoHotkey.exe и запускать через BinRun()? Нет пути проще, ведь интерпретатор уже есть в любом скомпилированном скрипте.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

47

Re: AHK: Работа с потоками autohotkey.dll

Есть, но он уже переделан так, что им нельзя запускать другие скрипты.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

48 (изменено: svoboden, 2018-07-03 18:57:45)

Re: AHK: Работа с потоками autohotkey.dll

ExecScript плохо работает. Были уже похожие темы:
http://forum.script-coding.com/viewtopi … 48#p124948;
https://autohotkey.com/board/topic/2357 … pipe/?st=0.

49

Re: AHK: Работа с потоками autohotkey.dll

ExecScript в обсуждаемом случае не нужен.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

50

Re: AHK: Работа с потоками autohotkey.dll

teadrinker пишет:

Есть, но он уже переделан так, что им нельзя запускать другие скрипты.

А какая разница между скриптом, вложенным в него, и другими скриптами?