加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

winapi – Golang:使用Windows 10 API / UWP / System.WindowsR

发布时间:2020-12-16 09:28:57 所属栏目:大数据 来源:网络整理
导读:在Go中使用syscall如何在 Windows 10中调用UWP API?我已经看过并尝试过很多win32示例,但是当我尝试使用System.WindowsRuntime.dll时,这是一个禁忌的行为.具体来说,我收到: panic: Failed to load System.WindowsRuntime.dll: The specified module could n
在Go中使用syscall如何在 Windows 10中调用UWP API?我已经看过并尝试过很多win32示例,但是当我尝试使用System.WindowsRuntime.dll时,这是一个禁忌的行为.具体来说,我收到:

panic: Failed to load System.WindowsRuntime.dll: The specified module could not be found.

(这是在运行时,二进制内置正常)

我尝试使用标准的go build以及

go build -ldflags="-H windows"

示例代码:

var(
    windowsRuntime      = syscall.NewLazyDLL("System.WindowsRuntime.dll")
    getDiskFreeSpace    = windowsRuntime.NewProc("GetDiskFreeSpace")
)

注意:尝试了其他变体:

windowsRuntime      = syscall.NewLazyDLL("System.Runtime.WindowsRuntime.dll")

&安培;

windowsRuntime      = syscall.NewLazyDLL("WindowsRuntime.dll")

任何人都可以得到这个运行或有任何建议吗?
一如既往,非常感谢!!

解决方法

我不知道你在哪里找到“System.WindowsRuntime.dll”,因为据我所知,它不存在(除非你手动制作一个名为DLL的DLL).

至于System.Runtime.WindowsRuntime.dll:它是.NET Framework的一部分,而不是Windows,它是一个托管DLL.您无法使用syscall.NewLazyDLL加载此类DLL.更重要的是,该DLL并不真正包含任何Windows API – 只是为了能够使用它而使.NET粘合.

您可能正在寻找combase.dll中的RoGetActivationFactory等功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读