没有使用WinAPI安装字体

时间:2019-02-14 14:21:52

标签: c++ winapi fonts

我正在尝试使用Winapi在Windows中永久安装TTF字体,但是当我将其放置在C:/ Windows / Fonts中时,它将无法正常工作。

我试图更改将字体写入文件夹的方式,但是没有成功。

if (!PathFileExistsA("C:/windows/fonts/Raleway-Regular.ttf")) {
    auto hdl = CreateFileA("C:/windows/fonts/Raleway-Regular.ttf", GENERIC_WRITE, NULL, NULL, CREATE_ALWAYS, NULL, NULL);

    DWORD written;
    WriteFile(hdl, font, 178520, &written, NULL);

    if (written < 178520) {
        MessageBoxA(NULL, "Could not install required fonts [error 1]", "Error", MB_OK | MB_APPLMODAL);
        CloseHandle(hdl);
        std::terminate();
    }

    CloseHandle(hdl);
    AddFontResourceA("C:/windows/fonts/Raleway-Regular.ttf");
}

我检查了MSDN,我认为这是我安装字体的方式。但是,这为什么不起作用。

UPD:我向每个函数添加了错误检查,但它们都成功了

0 个答案:

没有答案