# ScanDll **Repository Path**: ii77/ScanDll ## Basic Information - **Project Name**: ScanDll - **Description**: GO读取DLL内部函数 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-06 - **Last Updated**: 2026-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 身份证/居住证读卡服务部署手册 ## 1. 概述 本服务基于 Go 语言开发,调用 `sdtapi.dll` 读取二代身份证或港澳台居住证信息,并通过 HTTP API 对外提供服务。支持 Windows 服务后台运行与开机自启,也支持控制台调试模式。 ## 2. 环境要求 - **操作系统**:Windows 7/8/10/11 或 Windows Server 2012+(64 位或 32 位均可) - **读卡器**:已正确连接 USB 口,安装好驱动程序 - **动态库**:`sdtapi.dll` 必须位于可访问的目录(建议使用绝对路径) - **权限**:安装/卸载/启动/停止服务需要**管理员权限** - **Go 环境**:仅在编译时需要,生产环境可只部署可执行文件 ## 3. 编译服务程序 > 以下步骤在**开发机**上执行一次,生成 `idcard_service.exe` ### 3.1 准备源码 将完整的 `main.go` (包含服务、HTTP 读卡逻辑、UTF-16 解析等)放置于项目目录。 ### 3.2 安装依赖 ```cmd go get golang.org/x/sys/windows/svc go get golang.org/x/sys/windows/svc/mgr ``` ### 3.3 编译(必须 32 位) 打开 CMD 或 PowerShell,进入项目目录,执行: ``` set GOARCH=386 go build -ldflags="-H windowsgui" -o idcard_service.exe ``` - -ldflags="-H windowsgui":生成无控制台窗口的后台程序(适合服务模式) - 若需调试,可编译带控制台的版本:go build -o idcard_service_console.exe - 编译成功后,当前目录下出现 idcard_service.exe。 ### 4. 安装服务 ``` .\idcard_service.exe -install -dll="C:\IDCardReader\sdtapi.dll" ``` - 必须使用 绝对路径,因为服务启动时的当前目录是 C:\Windows\System32。 - 安装成功后,服务 IDCardReaderService 会注册到系统中,启动类型默认为 自动。 #### 4.1 启动服务 ``` .\idcard_service.exe -start ``` 或 ``` Start-Service -Name IDCardReaderService ``` #### 4.2 验证服务状态 ``` Get-Service -Name IDCardReaderService ``` 输出中 Status 应为 Running。 ### 5. 访问 HTTP 接口 ``` http://127.0.0.1:8099/api/idcard ``` 预期返回 JSON ``` { "code": 200, "msg": "success", "data": { "name": "张三", "sex": "男", "nation": "汉", "birthday": "19900101", "address": "某市某区", "id_number": "110101199001011234", "issue_org": "公安局", "valid_start": "20200101", "valid_end": "20400101" }, "raw_data": "张三|男|汉|19900101|某市某区|110101199001011234|公安局|20200101|20400101" } ``` ### 6. 服务管理命令汇总 | 操作 | 命令 | 说明 | | ------------ | ------------------------------------------------------- | ------------------------ | | 安装服务 | .\idcard_service.exe -install -dll="绝对路径" | 需管理员权限,设置自动启动 | | 启动服务 | .\idcard_service.exe -start | | | 停止服务 | .\idcard_service.exe -stop | | | 卸载服务 | .\idcard_service.exe -uninstall | 完全移除服务 | | 控制台调试 | .\idcard_service.exe -console -dll="绝对路径" | 前台运行,日志输出到屏幕 |