当我尝试在VS2012中运行以下代码段时,它会按预期安装字体。但是,当我从Windows资源管理器启动应用程序时,它返回以下错误:“无法安装所需的字体:系统找不到指定的文件”classProgram{[DllImport("gdi32.dll",EntryPoint="AddFontResourceW",SetLastError=true)]publicstaticexternintAddFontResource([In][MarshalAs(UnmanagedType.LPWStr)]stringlpFileName);staticvoidMain(string[]args){str
我正在维护.NET3.5应用程序。在应用程序启动期间,从工作目录中读取许多字体并在Windows中注册。我们对每个字体文件使用AddFontResource(stringlpFileName)(Gdi32.dll)的pinvoke调用。代码一直很快,直到我升级到Win10周年更新(在此之前,Win10没有问题)。现在一个调用可能需要半秒,这将启动时间增加了90秒。知道是什么导致了这个问题吗?以及如何解决? 最佳答案 Windows10周年更新破坏了AddFontResource和RemoveFontResourceAPI的性能。我们
我目前正尝试在一堆服务器上安装字体。我已经能够使用脚本来复制字体并将它们“安装”到服务器上,但我需要能够访问字体而无需必须关闭服务器或注销帐户。我发现WindowsAddFontResource()是使用C++完成的,但是在Python或Powershell中是否有等效的函数?(我一直在使用Python和Powershell进行检查和安装。) 最佳答案 您是否尝试过使用win32api库?它具有SendMessage()函数,可以与ctypes中的windll.gdi32.AddFontResource()一起使用例如安装一个TTF