Не удаётся найти указанный файл при установке шрифта C#

Пытаюсь установить шрифт с помощью кода из статьи:

[DllImport("gdi32.dll", EntryPoint = "AddFontResourceW", SetLastError = true)]
public static extern int AddFontResource([In][MarshalAs(UnmanagedType.LPWStr)]
                             string lpFileName);

...

int result = -1;
int error = 0;

result = AddFontResource(@"E:\Font\Puzzled_2.ttf");
error = Marshal.GetLastWin32Error();
if (error != 0)
{
    MessageBox.Show(new Win32Exception(error).Message);
}
else
{
    if (result == 0)
    {
        MessageBox.Show("Font is already installed.");
    }
    else
    {
        MessageBox.Show("Font installed successfully."); 
    }
}

И получаю ошибку "Не удаётся найти указанный файл". Это при том, что данный код работал, пробовала устанавливать как новые шрифты, так и уже установленные и ошибок не было.

После чего начала внедрять его в основную программу, тогда и возникла эта ошибка. Вернула всё к исходному, самому простому варианту, но он уже не работает.

Файл существует, пробовала и рядом с исполняемым файлом ставить шрифт, и через Directory.GetCurrentDirectory(), и в отдельной директории - всегда один результат. Программа запускается с правами администратора, не знаю из-за чего ещё может возникнуть такая ошибка.


Ответы (0 шт):