找回密码
 加入
搜索
楼主: 仙乃日

[AU3基础] 请教一个dllcall的写法?[已解决]

 火.. [复制链接]
发表于 2017-2-24 20:53:09 | 显示全部楼层
回复 15# nmgwddj
果然如此,又学到了。以前只知道是ptr*是直接到地址取值。原来*是引用。
那么上面的函数又可以精简了。

[au3]#NoTrayIcon
#RequireAdmin
#pre_usex64=n
#include <array.au3>
Local $array = ReadIDCardComm()
ConsoleWrite(@error & @CRLF)
_ArrayDisplay($array, @error)

Func ReadIDCardComm($iPort = 1001, $nTimeOut = 10000)
        Local $aRet = DllCall("IdReaderApiComm.dll", _
                        'int', 'ReadIDCardComm', _
                        'int', $iPort, _
                        'wstr', '', 'int*', '', _
                        'wstr', '', 'int*', '', _
                        'wstr', '', 'int*', '', _
                        'wstr', '', 'int*', '', _
                        'wstr', '', 'int*', '', _
                        'wstr', '', 'int*', '', _
                        'wstr', '', 'int*', '', _
                        'wstr', '', 'int*', '', _
                        'wstr', '', 'int*', '', _
                        'wstr', '', 'int*', '', _
                        'int', $nTimeOut)
        If Not @error Then Return $aRet
        Return SetError(@error, 0, 0)
EndFunc   ;==>ReadIDCardComm[/au3]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2017-2-25 09:42:59 | 显示全部楼层
回复 16# haijie1223


    代码可以运行了,但读取出来全是乱码。
暂时使用控件对象可以正确读取了。
  1. #PRE_UseX64=n
  2. $IdCard = ObjCreate("IDCARDREADER.IdCardReaderCtrl.1")
  3. $IdCard.SetTimeout(5000); //设置读取超时时间
  4. $IdCard.SetPort(1001); //设置 com 口号或 usb 后号
  5. $IdCard.SetPicPath(@ScriptDir & "\ZP.bmp")
  6. $iRet=$IdCard.ReadIDCard(); //开始读取
  7. If $iRet<>0 Then
  8. MsgBox(0,0,$IdCard.GetErrMsg())
  9. Else
  10. Local $Name=$IdCard.GetName(); //姓名
  11. Local $Nation=$IdCard.GetNation(); //民族
  12. Local $Address=$IdCard.GetAddress()
  13. Local $IDNo=$IdCard.GetIDNo()
  14. Local $Sex=$IdCard.GetSex()
  15. Local $Birthday=$IdCard.GetBirthday()
  16. MsgBox(0,"身份证信息", $Name & @CRLF & $Nation & @CRLF & $Address & @CRLF & $IDNo & @CRLF & $Sex & @CRLF & $Birthday)
  17. EndIf
复制代码
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2026-9-21 12:46 , Processed in 0.051233 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表