world tutorial mundo hola hello example winapi go windows-runtime uwp winrt-xaml

winapi - tutorial - Golang: utilizando Windows 10 API/UWP/System.WindowsRuntime?



uwp windows 7 (1)

No tengo idea de dónde encontraste "System.WindowsRuntime.dll" porque, por lo que yo sé, no existe (a menos que hayas creado manualmente una DLL llamada así).

En cuanto a System.Runtime.WindowsRuntime.dll: es parte de .NET Framework, no de Windows, y es una DLL administrada. No puede cargar dichos archivos DLL utilizando syscall.NewLazyDLL. Además, esa DLL realmente no contiene ninguna API de Windows, solo pega para que .NET pueda trabajar con ellas.

Probablemente esté buscando funciones como RoGetActivationFactory en combase.dll.

Usando syscall en Go, ¿cómo puedo llamar a las API de UWP dentro de Windows 10? He visto y probado muchos ejemplos de win32 , pero cuando traté de usar System.WindowsRuntime.dll fue un no-go; específicamente, recibí:

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

(Esto fue en tiempo de ejecución, el binario construido bien)

Intenté construir ambos con una go build estándar, así como

go build -ldflags="-H windows"

código de ejemplo:

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

Nota: otras variantes probadas:

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

&

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

¿Alguien ha podido correr o tener algún consejo al respecto? Como siempre, ¡ muy apreciado!