我尝试在 Windows 安装中找出字体文件夹。SHGetKnownFolderPath
AFAICS 建议的方法Shell32.dll
是调用KNOWNFOLDERID
set to FOLDERID_Fonts
。
我不知道Call
在下面的代码中将什么传递给函数:
package main
import (
"syscall"
)
func main() {
// HRESULT SHGetKnownFolderPath(
// _In_ REFKNOWNFOLDERID rfid,
// _In_ DWORD dwFlags,
// _In_opt_ HANDLE hToken,
// _Out_ PWSTR *ppszPath
// );
var (
shell32 = syscall.NewLazyDLL("Shell32.dll")
shGetKnowFolderPath = shell32.NewProc("SHGetKnownFolderPath")
// Doesn't work, of course:
folderId int
flags int
handle int
retval int
)
shGetKnowFolderPath.Call(uintptr(folderId), uintptr(flags), uintptr(handle), uintptr(retval))
}
任何的想法?(我想现在的解决方法是坚持%windir%\Fonts
,但我想得到一个合适的解决方案)。
参考: