欲买桂花同载酒,荒泷天下第一斗。|

janbar

园龄:4年6个月 粉丝:29 关注:10

2021-09-09 18:59 阅读 496 评论 0 推荐

go语言调用everything的SDK接口

介绍

官方SDK地址

  1. 本项目会将官方dll编译到可执行程序中,运行时无需考虑dll问题。
  2. 根据官方介绍,使用SDK前需要运行everything程序。
  3. 执行go build -tag ASCII时编译ascii相关接口,否则编译unicode接口。
  4. 可以参考examples/search.go示例代码。
  5. 本项目主要是我用来学习window下go调用dll的方法,包含传参和返回值处理。
  6. 相关代码大部分都是研究go源码得到的启发。
  7. 特别注意,我的代码里面有几个使用了go1.17才有的特性。

下面是示例代码:

copy
package main import ( "fmt" "os" "github.com/jan-bar/es" ) func main() { if len(os.Args) < 2 { fmt.Printf("usage:%s test.txt\n", os.Args[0]) return } err := es.EverythingSetSearch(os.Args[1]) if err != nil { panic(err) } err = es.EverythingSetMax(5) if err != nil { panic(err) } // 设置好需要查询的内容,不然后续遍历时可能报错 err = es.EverythingSetRequestFlags(es.EverythingRequestFileName | es.EverythingRequestPath | es.EverythingRequestDateCreated | es.EverythingRequestDateModified | es.EverythingRequestDateAccessed | es.EverythingRequestSize) if err != nil { panic(err) } // 定好排序规则 err = es.EverythingSetSort(es.EverythingSortDateModifiedAscending) if err != nil { panic(err) } // 开始查询 fmt.Println("EverythingQuery:", es.EverythingQuery(true)) // 得到查询结果个数 num, err := es.EverythingGetNumResults() fmt.Println("EverythingGetNumResults", num, err) for i := uint32(0); i < num; i++ { fmt.Println("---------------------------------------------------") s, err := es.EverythingGetResultSize(i) fmt.Printf("FileSize:[%d],%v\n", s, err) p, err := es.EverythingGetResultFullPathName(i) fmt.Printf("FullPathName:[%s],%v\n", p, err) p, err = es.EverythingGetResultFileName(i) fmt.Printf("FileName:[%s],%v\n", p, err) t, err := es.EverythingGetResultDateCreated(i) fmt.Printf("DateCreated:[%s],%v\n", t, err) t, err = es.EverythingGetResultDateModified(i) fmt.Printf("DateModified:[%s],%v\n", t, err) t, err = es.EverythingGetResultDateAccessed(i) fmt.Printf("DateAccessed:[%s],%v\n", t, err) } }
posted @   janbar  阅读(496)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~

FAVOURITE

点击右上角即可分享
微信分享提示
*✧⁺˚⁺ପ(๑・ω・)੭ु⁾⁾ 好好学习天天向上
进入亮色模式
进入亮色模式

FAVOURITE