Just upload a import module for AutoIt on newLISP.
Download:
http://www.hpwsoft.de/anmeldung/html1/newLISP/newLISP3.html
Imported functions:
AUTOIT_Sleep
AUTOIT_BlockInput
AUTOIT_ClipGet
AUTOIT_ClipPut
AUTOIT_DetectHiddenText
AUTOIT_IfWinActive
AUTOIT_IfWinExist
AUTOIT_IniRead
AUTOIT_IniWrite
AUTOIT_IniDelete
AUTOIT_LeftClick
AUTOIT_LeftClickDrag
AUTOIT_MouseMove
AUTOIT_MouseGetPosX
AUTOIT_MouseGetPosY
AUTOIT_RightClick
AUTOIT_RightClickDrag
AUTOIT_SetCapslockState
AUTOIT_SetStoreCapslockMode
AUTOIT_Send
AUTOIT_SetKeyDelay
AUTOIT_SetTitleMatchMode
AUTOIT_SetWinDelay
AUTOIT_Shutdown
AUTOIT_WinWait
AUTOIT_WinWaitActive
AUTOIT_WinWaitNotActive
AUTOIT_WinWaitClose
AUTOIT_WinHide
AUTOIT_WinRestore
AUTOIT_WinMinimize
AUTOIT_WinMaximize
AUTOIT_WinMinimizeAll
AUTOIT_WinActivate
AUTOIT_WinClose
AUTOIT_WinMove
AUTOIT_WinSetTitle
AUTOIT_WinGetActiveTitle
AUTOIT_WinShow
AUTOIT_WinMinimizeAllUndo
Edit: Link and headline
Thanks,
I've found auto-it very helpful automating some windows things in the past.
Nigel
Hi Hans-Peter,
I was looking at hpwAutoIt.lsp and thinking on
(define (allocate n)
(join(map(fn(x)" ")(sequence 1 n))))
for allocating space. For another approach other than the list operations
one could use pack viz
(define (allocate n)
(pack (string "s" n) " "))
which gives one space followed by n-1 nulls in a string buffer.
This buffer seems to work for the AUTOIT_ClipGet function.
I've not looked at newlisp source code to see how efficient pack
would be for this use.
Nigel
I remembered the timing function (time which shows relative times:
> (define (allocate n) (join(map(fn(x)" ")(sequence 1 n))))
(lambda (n) (join (map (lambda (x) " ") (sequence 1 n))))
> (time (allocate 50000))
110
> (define (allocate n) (pack (string "s" n) " "))
(lambda (n) (pack (string "s" n) " "))
> (time (allocate 50000))
0
>
Nigel
Nigel,
Thanks for the suggestion.
Always very welcome. Allocate was an quick suggestion from another thread here from Lutz, but he has stated that it is not the best performance code.
So your version is definatly welcomed.
I will put it in.
For timing I do:
(time (dotimes (x 1000000) (allocate 50))) => 4516 ; 4.5 micro seconds each
The overhead for (dotimes ...) is small:
(time (dotimes (x 1000000))) => 78 ; 78 nano seconds each
Lutz
when :
(load "hpwAutoIt.lsp")
error message given:ERR: problem loading library in function import : "AutoItDLL.dll"
Why?
Ps:
newlisp v10.7.4, win7
AutoItDLL.dll, hpwAutoIt.lsp, newlisp.exe are in the same folder.
Hello,
Just tried it again:
Quote
newLISP v.10.7.4 32-bit on Windows IPv4/6 libffi, options: newlisp -h
> (load "hpwAutoIt.lsp")
AUTOIT_WinMinimizeAllUndo@1000161F
>
Do you have a 32bit newlisp installed?
(The thread and the dll is from 2004)
Regards