Tôi cố gắng tìm ra thư mục phông chữ trên cài đặt cửa sổ. AFAICS cách được đề xuất là gọi SHGetKnownFolderPath
trong Shell32.dll
với KNOWNFOLDERID
được đặt thành FOLDERID_Fonts
.Chức năng cửa sổ cuộc gọi (nhận thư mục phông chữ)
Tôi không có ý tưởng gì để vượt qua các Call
chức năng trong các mã dưới đây:
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))
}
Bất kỳ ý tưởng? (Tôi đoán một giải pháp cho bây giờ sẽ là dính vào %windir%\Fonts
, nhưng tôi muốn nhận được một giải pháp thích hợp).
Tài liệu tham khảo:
- http://msdn.microsoft.com/en-us/library/windows/desktop/bb762181(v=vs.85).aspx
- http://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx
Tại sao lưu ý lại? Tôi có thể làm gì để cải thiện câu hỏi? – topskip