newLISP Fan Club

Forum => newLISP and the O.S. => Topic started by: HPW on December 31, 2003, 08:06:39 AM

Title: hpwNLAutoItDll released
Post by: HPW on December 31, 2003, 08:06:39 AM
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
Title:
Post by: nigelbrown on December 31, 2003, 12:00:04 PM
Thanks,

I've found auto-it  very helpful automating some windows things in the past.

Nigel
Title:
Post by: nigelbrown on January 01, 2004, 05:27:42 AM
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
Title:
Post by: nigelbrown on January 01, 2004, 05:38:49 AM
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
Title:
Post by: HPW on January 01, 2004, 06:40:49 AM
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.
Title:
Post by: Lutz on January 01, 2004, 08:24:30 AM
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
Title: Re: hpwNLAutoItDll released
Post by: lyl on July 31, 2019, 08:00:44 PM
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.
Title: Re: hpwNLAutoItDll released
Post by: HPW on July 31, 2019, 10:31:58 PM
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