cdeb Posted October 1, 2018 Posted October 1, 2018 (edited) I'm trying to verify which is the default scanner and if it is different from what I need to propose a choice among those available. All this is possible with eztw32.dll however I can not make certain functions work Are these: int TWAIN_GetDefaultSourceName(LPSTR pzName) string TWAIN_DefaultSourceName()int TWAIN_GetSourceList(void) source: http://www.eztwain.com/pub/eztp/EZTwain_User_Guide.pdf I tried this way but they do not work: Local $pzName $pzName = DllCall($pathDLL,"int","TWAIN_DefaultSourceName") ; $rc = DllCall($pathDLL,"int","TWAIN_GetDefaultSourceName", "str*", $pzName) ; $rc = DllCall($pathDLL,"int","TWAIN_GetDefaultSourceName","str", $pzName) ; $rc = DllCall($pathDLL,"int","TWAIN_GetSourceList") $rc = DllCall($pathDLL,"int","TWAIN_GetSourceList", "NONE", "") ; Can anyone help me? Everything else works, here is the code: Local $pathDLL = @ScriptDir&"\_res\eztw32.dll" Local $rc = DllCall($pathDLL,'int','TWAIN_EasyVersion') if @error <> 0 then MsgBox(16+262144, "DllCall Error", "Error load eztw32.dll") else ConsoleWrite('--> eztw32.dll version: ' & $rc[0]/100 & @CRLF) $rc = DllCall($pathDLL,"int","TWAIN_IsAvailable") If @error > 0 Then MsgBox(16+262144, "DllCall Error", "Error call DLL - TWAIN_IsAvailable") if $rc[0] <> 0 then ConsoleWrite('--> TWAIN available: RC = ' & $rc[0]&@CRLF) ;;;;;;;;;;;;;;;;;;;;;; I NEED HERE ;manual select scanner Local $hwnd $rc = DllCall($pathDLL,"long","TWAIN_SelectImageSource",'hwnd',$hwnd) ConsoleWrite('--> TWAIN_SelectImageSource = ' & $rc[0]&@CRLF) if $rc[0] <> 0 then ConsoleWrite("--> TWAIN device selected"&@CRLF) else ConsoleWrite("--> no TWAIN device selected"&@CRLF) endif Else ConsoleWrite('--> TWAIN NOT available: RC = ' & $rc[0]&@CRLF) ; es: 0 endif endif thank you Edited October 1, 2018 by cdeb
Danyfirex Posted October 1, 2018 Posted October 1, 2018 Try this: Global $hEZTwain32 = DllOpen(@ScriptDir & "\_res\eztw32.dll") Local $aCall=0 $aCall=DllCall($hEZTwain32,"str","TWAIN_DefaultSourceName") ;~ $aCall[0] will store returned SourceName $aCall=DllCall($hEZTwain32,"int","TWAIN_GetDefaultSourceName","str*",0) ;~ $aCall[1] will store returned SourceName $aCall=DllCall($hEZTwain32,"int","TWAIN_GetSourceList") ;~ $aCall[0] source list DllClose($hEZTwain32) Saludos Danysys.com AutoIt... UDFs: VirusTotal API 2.0 UDF - libZPlay UDF - Apps: Guitar Tab Tester - VirusTotal Hash Checker Examples: Text-to-Speech ISpVoice Interface - Get installed applications - Enable/Disable Network connection PrintHookProc - WINTRUST - Mute Microphone Level - Get Connected NetWorks - Create NetWork Connection ShortCut
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now