Skip to content

C1ph3rX13/xwindows

Repository files navigation

xwindows

Go interface to DLLs functions

Base on golang.org/x/sys/windows

Note

Please do not consider this code, particularly the autogenerated code, as stable. Identifiers names may still be subject to change.

Description

This package makes selected DLLs functions directly available in Go programs. At the moment, types and functions for accessing kernel objects and the Registry are included. The goal is to, eventually, cover all available functions.

What’s Changed

2025.2.7

  1. 新增多个函数,Bugs 修复

  2. 尝试使用 CGO 调用部分 API (实验性)

    // filename: cgo_winmm.go
    package xwindows
    
    /*
       #cgo LDFLAGS: -lwinmm
       #include <windows.h>
       #include <mmsystem.h>
    
       DWORD TimeGetTimeCGO() {
           return timeGetTime();
       }
    */
    import "C"
    
    func TimeGetTimeC() uint32 {
    	return uint32(C.TimeGetTimeCGO())
    }
  3. 新增type_xwindows.goxwindows风格的预定义变量

2025.1.26

  1. 修复调用错误,新增多个函数
  2. 新增统一错误类型
  3. 规范文件名,符合xwindows风格
  4. 完善文档支持内容
  5. 暂不支持syscall.SyscallN()作为syscall的原生调用的函数,提供以Z为后缀且使用Call()调用的方法

2024.8.14

  1. 新增mkwinsyscall工具实现API代码生成 - 待完善
  2. 新增actived, advapi, winmm等DLL
  3. 修复多个API参数类型不对应

2024.3.1

  1. 修复多个函数的Bug
  2. 添加文档
  3. 新增多个未公开的函数

2024.2.26

variant 项目衍生库

  1. 基于golang.org/x/sys/windows
  2. 使用syscall.SyscallN()作为syscall的调用,增加了绝大多数Go loader所使用的函数
  3. 包含了variant 项目所有的函数,同步更新

Uasge

xwindows.EnumPageFilesW()

About

Powerful golang.org/x/sys/windows

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages